1

「トレンド」ディメンションがあります。階層は、トレンド -> 週 -> 日です。事実は「日」キーにリンクされています。特定の週のすべての日にメジャー値が存在するという保証はありません。

ユーザーが「週」レベルでメジャーを表示したい場合、その週の最後の空の日の値のみを表示する必要があります。複数のメジャーがあるため、それらのそれぞれに対して新しい計算メジャーを作成することに興味がありません (レベルの合計を MDX の最後の子の値として表示する方法など) 。

代わりに、以下の機能を実現できる名前付きセットを作成する方法はありますか?

Week    Day    Measure
1       1      4
1       2      5
2       3      7
2       7      9
3       5      10

「週」レベルで取得する必要があります

Week    Day    Measure
1       2      5
2       7      9
3       5      10

ありがとう!:)

4

1 に答える 1

1

複数のメジャーに再利用できる計算メンバーを作成する場合は、計算メンバーの束のみを含むユーティリティディメンションを作成できます。SSASでそれを行う方法はわかりません(私はicCubeに精通しています)。次に、リクエストでこの階層を使用して、計算されたメンバーを適用できます。

あなたの例を見てみましょう。ユーティリティディメンションを[統計]と呼びました。デフォルトのメンバーは、現在のメジャーの値を返す計算されたメンバーです。そして、それは[最終日]計算を含みます。メンバー。

WITH MEMBER[統計]。[統計]。[最終日]AS(

NonEmpty( 

   Order( [Trend].[Trend].currentMember.children, 
          [Trend].[Trend].currentMember.properties( 'key', TYPED ), 
          BDESC 
   ), 
   [Stats].[Stats].defaultMember 

).item(0), 

[Stats].[Stats].defaultMember  )

SELECT [Measures] .members on 0、[Trend]。[Trend]。[Week] .members on 1

FROM [your-cube]

WHERE[統計]。[統計]。[先月]

SELECTの各[MEasures]に適用されるスライサーで[LastMonth]のトリックを見ることができます。次に、その式は、現在の[MEasures]に対して[Days]のNonEmpty(キーに基づいてorder()で逆になります-調整が必要になる場合があります)を使用しています。

于 2012-09-27T09:05:36.493 に答える