MDX查询 - 计算成员

时间:2016-07-05 13:30:21

标签: mdx

我想根据这个逻辑创建一个计算成员:

WITH 
  MEMBER [Measures].[NewMeasures] AS ...
SELECT 
  NON EMPTY 
    CrossJoin
    (
      {[DimensionA].[LevelA].MEMBERS}
     ,{[Measures].[NewMeasures]}
    ) ON COLUMNS
 ,NON EMPTY 
    NonEmptyCrossJoin
    (
      {[DimensionB].[LevelB].MEMBERS}
     ,{[DimensionC].[LevelC].MEMBERS}
    ) ON ROWS
FROM [MyCube];

我的新措施必须是已经拥有的措施([Measures]。[MyMeasure])和" MyMeasure"之间的区别。 B级和C级成员。
防爆。 MyMeasure = 4 - B级成员的MyMeasure总和= 20 - C级成员的MyMeasure总和= 30 新措施= 4 /(20 + 30)

对不起,如果不是很清楚,但不知道怎么解释。

1 个答案:

答案 0 :(得分:1)

呃这样的事情?(我没有检查零或零,但你应该这样做)

WITH 
MEMBER 
[Measures].[NewMeasures] 
AS 
    [Measures].[MyMeasure] /
    SUM(
        Crossjoin(
            [DimensionB].[LevelB].MEMBERS,
            [DimensionC].[LevelC].MEMBERS
        )
        ,[Measures].[MyMeasure])
    )