2016-07-05 142 views
0

我想按照這個邏輯來創建一個計算的成員: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]; 

我的新措施必須是已經有一個度量之間的分工和([措施] [MyMeasure]。)例如B級和C級成員的「MyMeasure」的總和。
Ex。 MyMeasure = 4 - 爲B級的成員MyMeasure的總和= 20 - MyMeasure的總和爲C級的成員= 30
新措施= 4 /(20 + 30)

很抱歉,如果它不是很清楚,但不知道如何解釋。

回答

1

Uhmm這樣的事情(我沒有檢查零或零陷,但你應該)

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

我已經試過了,但它給了我這個錯誤? 蒙德里安錯誤:無功能相匹配的簽名「 (,)' – mike5v

+0

嘗試使用Crossjoin。 – mxix