WHERE ステートメントでメジャー値を使用する MDX 式を記述したいと考えています。
例: さまざまな都市の店舗で販売された製品からの収入を表示したいが、価格が $10 を超える販売された製品の収入のみをカウントしたいとします。
これは私が試したものですが、うまくいきません:
WHERE ([MEASURES].[Price]>10)
MDX を使用してこれを行うにはどうすればよいですか?
olap db にアクセスできる場合は、別のメトリック Price を作成し (たとえば、DSV でファクト テーブルの式を作成し、このフィールドでメトリックを作成する)、それをさらなる計算に使用できます。ただし、db にアクセスできない場合は、次のスクリプトを試すことができます。
WITH
MEMBER [Measures].[Price10] AS
'IIF([Measures].[Price] < 10,0,[Measures].[Price])'
MEMBER [Measures].[COST] AS
'[Measures].[Price10]*[Measures].[Unit Count]'
SELECT
{[Measures].[COST]} ON COLUMNS,
{[Customer].[Customer Geography].[City].Members,[Customer].[Customer Geography].[All Customers]} ON ROWS
from [Adventure Works]
これは単なる提案です...そして、それはメトリック Price の計算に使用する集計タイプによって異なります。