2
這裏是從艾德一個簡單的例子:MDX計算成員並設置減法
with
member test1 as sum([Measures].[Internet Sales Amount])
- [Customer].[Customer].&[28187]
member test2 as sum([Measures].[Internet Sales Amount])
- sum([Customer].[Customer].&[28187],[Measures].[Internet Sales Amount])
member test3 as sum
(
{[Customer].[Customer].children - [Customer].[Customer].&[28187]},
[Measures].[Internet Sales Amount]
)
select {test1, test2, test3} on 0
from [Adventure Works]
結果幾乎相等,除「測試1」具有非貨幣類型的格式
問題:
「test1」calc-member:如何從「sum」的數字結果中減去「Customer」成員表達式?這看起來不合邏輯並且頭腦不靈。我希望算術減法,設置減法,但不是算術減法的成員...
所有(test1,test2,test3)邏輯上和「執行」相等的計算成員?如果不是,「test1」成員的正確顯式形式是什麼?它看起來像「test2」將在大多數情況下表現更好,因爲「test3」設置減法可能會導致非常大的設置。
我會給一個嘗試except語句http://msdn.microsoft.com/library/ms144900.aspx – michele 2013-03-13 14:28:33
「除了」只是一個快捷方式到「TEST3」 :[Customer]。[Customer]。[Customer]。[Customer]。&[28187]與Except相同([Customer]。[Customer] .children,[Customer]。[Customer]。&[28187] )。 「test3」(以任何形式)比「test2」慢了近10倍。 「test1」的工作速度比「test2」慢2倍。所以「test1」不是任何其他成員的捷徑...... – infideltfo 2013-03-14 05:39:15