SSASキューブブラウザーでドラッグするディメンションに関係なく、総計の割合を返す汎用MDX式を見つけるには、この問題があります。
今、私はこの式を使用しています:
([Measures].[Montant], Axis(1)(0)(Axis(1)(0).Count - 1).dimension.currentmember)
/SUM(([Measures].[Montant], Axis(1)(0)))
それは正常に動作しますが、軸の内側のアイテムをフィルタリングすると、式は間違った値を返します
例えば :
行軸に3つの項目があります:Year> Brand> Category
すべての行の総計は125です。
SUM(([Measures].[Montant], Axis(1)(0)))
カテゴリでフィルタリングすると、総計軸の外側のアイテムの65に等しいとしましょう。ただし、カテゴリの値を確認するためにドリルダウンすると、まだ125に等しいことがわかります。その結果、パーセントの値も間違っています。
誰かが私の「MDX式の問題」を理解するのを手伝ってもらえますか?
計算されたメジャーは、「テストSOB」、MDX式です。
([Measures].[Montant], Axis(1)(0)(Axis(1)(0).Count - 1).dimension.currentmember)
/SUM(([Measures].[Montant], Axis(1)(0)))
総計は「denominateur」、MDX式です:
SUM(([Measures].[Montant], Axis(1)(0)))
ご覧のとおり、フィルタリング後の値Onglet = "DIGITAL"は182.50ですが、カテゴリごとにブランド "Beauty"をドリルダウンして "denominateur"を表示すると、フィルターを適用する前に "denominateur"の値である338.05という値が見つかります。
回答:
回答№1は0の使用は疑問に思う EXISTING
デノミンター計算でフィルターコンテキストを強制しますか?
SUM(
[Measures].[Montant],
EXISTING Axis(1).ITEM(0).ITEM(0).HIERARCHY.MEMBERS
)