あなたには2つの選択肢があると思います:
1- 次のように、ファクト (またはファクト テーブルに基づくデータ ソース ビューのビュー) に列を追加します。
case when unit_Price>2000 then 1
else 0
end as Unit_Price_Uper_Or_Under_10
この列の値に基づいて架空のディメンションを追加します。新しいディメンションの名前付きクエリを追加します(datasourceviewのRange_Dimensionと言います:範囲として1を選択しますユニオンすべて範囲として0を選択します
その後、他のディメンションや属性のようにこのフィルターを使用することはできません。
SELECT [Store].[Stores].[Store].members ON COLUMNS,
[Unit Sales] ON ROWS
FROM [Warehouse and Sales]
WHERE [Test_Dimension].[Range].&[1]
問題は、条件を追加する必要があるすべての範囲でありWhen
、範囲が静的である場合にのみ、このソリューションは適切なソリューションです。ダイナミックレンジについては、範囲を定式化することをお勧めします(離散化方法に基づいて)
2-たとえば、主キーを持つファクトテーブルがある場合、ファクトテーブルに基づいてファクトテーブルの近くに粒度を持つディメンションを追加しますSale_id
。1つの列のみを持つファクトテーブルに基づいてディメンションを追加でき、sale_Id
これをリレーションタイプとdimension Usage tab
関連付けることができ、その後でmdx のようなものを使用できます:new dimension
measure group
Fact
filter([dim Sale].[Sale Id].[Sale Id].members,[Measures].[Unit Price]>2000)