我在维度 D 和度量 M 之间存在多对多关系。
我需要创建一个具有以下公式的通用计算度量:M/Σ(M),其中 Σ 代表与给定维度的至少一个成员相关联的所有度量事实的总和。
对于其他(一对多)维度来说很容易,但是在多对多中获取 Σ ......好吧,如果它只是一个常规的 MDX 查询,那也很容易。我可以对一个维度的所有孩子进行切片:
SELECT [Measures].[M] ON 0
FROM [MyCube]
WHERE [D].[All].CHILDREN
但是我如何在计算的度量中切片呢?
我期望工作的简化示例:
CREATE MEMBER [Measures].[Calc] AS
[Measures].[M] / ( DRILLUPLEVEL( AXIS( 1 ).ITEM( 0 ).HIERARCHY.MEMBERS ).ITEM( 0 ), [Measures].[M] )
WHERE DRILLUPLEVEL( AXIS( 1 ).ITEM( 0 ).HIERARCHY.MEMBERS ).ITEM( 0 ).CHILDREN
但当然,MDX 不支持定义中的WHERE
子句MEMBER
。
请告诉我如何处理这个问题。