2013-10-15 108 views
0

我試圖計算一個具有特定條件的新度量,我先創建了第一級成員,然後試圖在下一個成員定義中使用該度量。MDX計算會員問題

下一個成員「CashDisp」被評估到零。如果一個條件,我是新來的SSAS請幫我解決這個

/* 
The CALCULATE command controls the aggregation of leaf cells in the cube. 
If the CALCULATE command is deleted or modified, the data within the cube is affected. 
You should edit this command only if you manually specify how the cube is aggregated. 
*/ 
CALCULATE;  
CREATE MEMBER CURRENTCUBE.[Measures].CashDispensed 
AS [Measures].[Orig Trans Amount]/100, 
VISIBLE = 1;  
CREATE MEMBER CURRENTCUBE.[Measures].CashDisp 
AS IIF([Dim Trans Type Code].[Trans Type Code] ='10' 
and [Dim Termn Ln].[Termn Ln]= 'PRO1' 
and [Dim Reversal Reason].[Reversal Reason] ='00' 
and [Dim Trans Response Code].[Trans Response Code] ='051',[Measures].CashDispensed,0), 
VISIBLE = 1 ; 
+0

您是否需要多維數據集會話的成員或僅用於查詢?嘗試使用'[Measures]。[Orig Trans Amount]/100'作爲第二個成員創建聲明的最後部分。 – michele

+0

我需要這個多維數據集會話,嘗試使用[度量]。[原始傳輸量]/100它仍然返回零,因此想到創建一個新成員繼承信息 – user2385057

+0

另一件事我只注意到立方體瀏覽器有數據時,措施]。[原始轉賬金額]這是此欄的總和,但一旦我拖動計算的成員「cashdisp」[Measures]。[原始轉帳金額]變爲空白,casdisp的值爲零。不確定是否跳閘關係 – user2385057

回答

1

的問題是你如何比較的尺寸值。

當你說

[點心跨類型代碼]。[反類型代碼] = '10'

是真的比較

[點心跨類型代碼] [Trans Type Code]。[All] 改爲'10'。

你需要寫你的比較是這樣的:

IIF([Dim Trans Type Code].[Trans Type Code].currentmember IS [Dim Trans Type Code].[Trans Type Code].&[10],[Measures].CashDispensed,0) 

這所示例的凝結,但你可以看到每個維度的變化。這也要求每個維度層次結構都在查詢中。如果不是,那麼它就是它的所有版本,你的IIF將不會評估你創建的成員。

+0

謝謝...這個解決方案工作..我有幾個問題是什麼[Dim Trans Type Code]。[Trans Type Code]。[All] to'10'actually meaning?如果我想使用多個比較值什麼是正確的語法,試試這個:[Dim Trans Transcode Code]。[Trans Response Code] .currentmember IS([Dim Trans Transcode Code。] [Trans Response Code]。&[051] ,[Dim Trans Transcode Code]。[Trans Transcode Code]。[052]) – user2385057

+0

我應該說它與[Dim Trans Type Code]是一樣的。[Trans Type Code]。[All] = '10'。做多重價值是一個很大的詭計。你應該爲此打開另一個問題。 – Rick