包含聚合函数的 MDX 查询在 SQL 服务器 2005 Analysis Services 返回单元格的值为 #Error


症状


您必须使用的聚合函数的多维表达式 (MDX) 查询。在聚合函数中指定该集合包含计算所得的成员。针对 Microsoft SQL Server 2005 Analysis Services 实例运行 MDX 查询时,查询将返回单元格的值为 #Error。如果您单击的单元格,您在单元格属性对话框中收到以下错误消息︰
一组遇到了无法包含计算所得的成员
注意:您会收到在值列和FORMATTED_VALUE属性的VALUE属性的错误消息。

原因


因为计算所得的成员包含聚合函数,并且此函数具有一组不可聚合的成员,将出现此问题。

例如,请考虑"更多信息"一节中提到的 MDX 查询。在 [艾德 DW] 示例数据库中,[方案]。[方案] 的成员是不可聚合的。此维度特性的IsAggregatable属性设置为False。如果运行此 MDX 查询时,您将收到"症状"一节中提到的错误消息。

状态


Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息


重现问题的步骤

  1. 在 SQL Server 商业智能开发 Studio 中打开探险工作数据仓库企业版的示例项目。

    注意:探险工作数据仓库企业版示例项目包含在 Analysis Services 数据库项目。若要下载 Analysis Services 数据库项目,请访问下面的 Microsoft 网站︰
  2. 示例项目部署到 SQL 服务器 2005 Analysis Services 的实例。
  3. 打开 SQL Server 管理 Studio,,然后连接到 Analysis Services 的实例。
  4. 单击新建查询
  5. 在查询窗口中,运行下面的 MDX 查询︰
    WITH MEMBER[Scenario].[Scenario].[MyMember] 
    AS
    AGGREGATE(
    {[Scenario].[Scenario].&[1],
    [Scenario].[Scenario].&[2],
    [Scenario].[Scenario].&[3],
    [Scenario].[Scenario].[Budget Variance]
    })

    SELECT
    {[Measures].[Amount]} ON AXIS(0)
    FROM
    [Adventure Works]
    WHERE [Scenario].[Scenario].[MyMember]