我有一个多维数据集,其中包含多级管理器层次结构以及在时间维度上已完成的工作单元。让我们假设这是我正在使用的数据:
http://i.stack.imgur.com/eNP4L.png
我试图通过 MDX 做的是专注于特定级别(级别 1,John Smith)并从层次结构中删除个人(最终用户和经理)并正确汇总值。
http://i.stack.imgur.com/xW5CF.png
从上图中可以看出,我们已经移除了 Lisa Rice 和 Morgan Richardson 的整个团队。预期结果将是两列,全名和工作单位。
到目前为止,我汇总的查询如下所示:
WITH SET [MyCustomSet] AS EXCEPT(
DESCENDANTS([HR].[Mgr Hierarchy].&[JSMITH],, SELF_AND_AFTER),
{DESCENDANTS([HR].[Mgr Hierarchy].&[MRICHARDSON],,SELF_AND_AFTER), DESCENDANTS([HR].[Mgr Hierarchy].&[LRICE],,SELF_AND_AFTER)}
)
MEMBER [Measures].[MyMeasure] AS Aggregate([MyCustomSet], [Measures].[#Work Units])
SELECT {
[Measures].[MyMeasure]
} ON COLUMNS,
NON EMPTY {
[MyCustomSet]
} ON ROWS
FROM [MyCube]
但这会返回我需要的成员列表,但每个成员的聚合值是所有成员的总数。当我删除计算的度量并仅使用这些[Measures].[#Work Units]
值表示未删除成员的总汇总值但成员不存在于列中时。
此数据的最终归宿将位于具有递归父关系的 SSRS 表设置中,以正确显示层次结构。
任何人都可以伸出援助之手或指出正确的方向吗?谢谢!