1

我正在从 Analysis Services 多维数据集创建折线图,其中包含日期类别、计数数据字段和状态系列。这是一个屏幕截图来解释:

picasaweb.google.com/lh/photo/fP16V4sB18O1xSTrdDV-_A?authkey=Gv1sRgCLHRmcjwtI2mzAE

我想添加蓝色的总行,它将所有状态加在一起。

我不想在 Status 维度中添加“Total”成员,因为那没有意义。我已经尝试添加另一个数据字段并将其范围限定为汇总所有内容,但我无法弄清楚如何使系列字段仅适用于单个数据字段 - 所以这最终会复制所有状态并获得 8 行而不是5.

这应该是可能的......我不想诉诸于针对底层数据库编写 SQL。

4

1 回答 1

0

好吧,所以我在 MDX 中找到了一个合理的解决方案。我认为在 SSRS 中会更好地解决,但我还没有弄清楚。

诀窍是将 [Total] 成员添加到结果集中,而不是将其添加到实际 Dimension。简化的 MDX 在这里:

WITH 
MEMBER [Execution Status].[Execution Status].[Total] AS 
    AGGREGATE([Execution Status].[Execution Status].[Pass].Siblings)

SELECT 
    {[Measures].[Count]} ON COLUMNS,
    {[Execution Status].[Execution Status].Children,
     [Execution Status].[Execution Status].[Total] } ON ROWS

FROM [CUBE]

这为汇总所有状态的 Total 定义了一个附加成员。然后返回所有状态成员以及总计。SSRS 不在乎——它仍然按新集合分组。

我确实在让聚合工作时遇到了一些问题,这就是我使用 [Pass].Siblings 的原因。[Execution Status].Children 总是返回 (null),而 [Execution Status].[All] 返回 2x 正确答案,大概是因为 [All] 成员。我也可以手动枚举所有状态。仍然不确定是什么问题......

于 2009-05-30T04:31:44.067 回答