1

複数の計算されたメジャーを計算する際に分母として使用しているメジャーが 1 つあります。ユーザーは通常、分子、分母、および計算メジャーをドラッグ アンド ドロップして、レポートを表示します。

それは正常に動作します。しかし、今はビジネスで定義された抑制ルールを実装したいと考えています。例: 計算された % が <=5 の場合、分母の値は * として表示されます。

これを処理するために SCOPE ステートメントを使用しました。しかし、今では、単一の分母メジャーに対して複数の SCOPE ステートメントを定義することになりました。問題は、すでにご想像のとおり、1 つの Scope ステートメントの結果が、同じ分母メジャーに対して定義された他のスコープ ステートメントと衝突することです。

例: 分母は特定の % 計算の実際の値を示すことになっていますが、同じ分母メジャーが使用される他の % 計算では <=5 の値が返されるため、* で抑制されます。

私の質問は次のとおりです。MDX SCOPE などを使用して、実際に使用されているメジャー、またはレポートでユーザーがドラッグ アンド ドロップしたメジャーを見つけることは可能ですか?

ばかげた質問かもしれませんが、助けてください。または、この問題を解決するための別の視点を教えてください。

ありがとう、

パリー

4

1 に答える 1

1

あなたの投稿の「どの対策が実際に使用されているかを知ることは可能ですか?」という部分に答えるために。私はこのトリックを提案します:SetToStr(StrToSet("Axis(1)"))

これにより、行 (または列) のアイテムのリストが取得され、文字列として返されます。Microsoft 環境では、InStr()これを使用してメジャー名を検索し、IIF(). これがあなたの出発点になることを願っています!MDX が非常に長く、非常に乱雑になり、脳を傷つける可能性があると感じています。

「計算された % が <=5 の場合、分母の値は * として表示される必要があります」という問題に対するより簡単な解決策は、Web ページにセルセットをレンダリングするコードを DLL に追加することです。関連するメジャーの列にいるかどうかを検出し、セルの値が <=5 であることを確認し、その時点でユーザーに何を出力するかを決定します。これは、必要な MDX よりも脳への影響が少ない可能性があります。

于 2012-09-12T08:51:46.093 に答える