私はSSAS/MDXに比較的慣れていません。価格の範囲の中央値を計算する計算フィールドを持つキューブがあります。
MEDIAN( [DimItems].[Dim Items Id].CurrentMember.Children, [Measures].[Price] )
数量フィールドがメジャーとして含まれています。未加工の価格が、計算された中央値よりも大きい、等しい、および小さい場合の数量フィールドの合計を計算する必要があります。
次のデータを取ります:
Qty Price
183 $100
51 $114
420 $123
80 $137
12 $144
200 $147
51 $152
中央値は137ドルです。したがって、価格が中央値よりも少ない数量の合計を取得するには、$ 100、$ 114、および$ 123がすべて$ 137未満であるため、次の数量値(183,51,420)を合計する必要があります。この合計の値は654です。
問題は、これを行う方法がわからないことです。生の値(例:114ドル)と範囲の中央値(例:137ドル)を比較する方法がわかりません。任意の助けいただければ幸いです。
最初に、兄弟間の価格の中央値を計算するメジャーを定義する必要があります。
[Measures].[Siblings_median_price]
AS
MEDIAN([DimItems].[Dim Items Id].CurrentMember.Siblings, [Measures].[Price])
次のメジャーは、必要なものを返すはずです。
[Measures].[Sum_below_median]
AS
SUM(
[DimItems].[Dim Items Id].CurrentMember.Children
, IIF([Measures].[Price] < [Measures].[Siblings_median_price]
, [Measures].[Quantity], Null)
)