Adventure Works の簡単な例を次に示します。
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]
結果はほぼ同じですが、"test1" の書式が貨幣型ではない点が異なります
質問:
"test1" calc-member: "sum" の数値結果から "Customer" メンバー式を減算するにはどうすればよいですか? それは非論理的で心が壊れるように見えます。私は算術減算、集合減算を期待していますが、算術減算からのメンバーではありません...
すべての (test1,test2,test3) 計算メンバーは、論理的かつ "パフォーマンス的に" 等しいですか? そうでない場合、「test1」メンバーの正しい明示的な形式は何ですか? 「test3」のセット減算は非常に巨大なセットになる可能性があるため、ほとんどの場合、「test2」のパフォーマンスが向上するようです。