2017-08-31 154 views
0
WITH 
    MEMBER CostDifference AS 
    Sum([Measures].[ExtendedCost]) - [Measures].[ExtendedCost] 
SELECT 
    NON EMPTY 
    { 
     [Measures].[ExtendedCost]  
    ,CostDifference 
    } ON COLUMNS 
,NON EMPTY 
    {[Parts].[ItemDesc].MEMBERS, [Dim Date].[DateUK].MEMBERS} ON ROWS 
FROM [Cube] 

我想在不同的維度,即2日快照(31/1/2010和28/2/2010)的所有產品在DimParts減去一個措施MDX減措施

如果我從等式中刪除這一段代碼,然後我得到的是零 [Dim Date].[DateUK].MEMBERS

如果我使用一個交叉連接,以添加多個昏暗即使這樣的成本差爲零

e.g. ,NON EMPTY CrossJoin ( [Parts].[ItemDesc].MEMBERS ,{[Dim Date].[DateUK]} ) ON ROWS

我正在使用SQl Server 2008R2

我在這裏丟失了什麼。

+0

那麼這將永遠是這樣! ... [Measures]。[ExtendedCost] - [Measures]。[ExtendedCost] = 0' – whytheq

+0

但是我在等式中添加了暗淡因此我將不同的日期計算在內,思維過程是否錯誤? – singhswat

回答

1

Sum([Measures].[ExtendedCost]) - [Measures].[ExtendedCost] 將解決這個

[Measures].[ExtendedCost] - [Measures].[ExtendedCost] 

這始終是0

如果Sum([Measures].[ExtendedCost])必須跨越了一套完整的,那麼你需要包括集:

Sum(
    [Dim Date].[DateUK].MEMBERS 
,[Measures].[ExtendedCost] 
) 
+0

Thanks @whytheq在結果集中出現錯誤「#Error該函數需要一個參數的字符串或數字表達式,使用了一個元組集合表達式。」但是如果我使用[Dim Date]。[DateUK]。&[31/1/2010]我確實得到了結果...所以我可以使它通用,我可以嗎? – singhswat

+0

這是從你的腳本'[Dim Date]。[DateUK] .MEMBERS' ....成員返回一個集合,所以我不知道你爲什麼得到這個錯誤 – whytheq