メジャー検索式 (MDX)
詳細
メジャー検索式には、以下の構文があります。これは、%SEARCH という、Business Intelligence の特殊なディメンジョンを参照します。
%SEARCH.&[comparison expression]
ここで、comparison expression は、以下の例のような論理式です。
[MEASURES].[test score]>60
比較式を囲む角括弧と比較式内のメジャー識別子の角括弧の両方のセットの角括弧が必要です。したがって、有効な検索式は常に %SEARCH.[[ で開始します。
例えば、以下のクエリは、テスト・スコアが 60 より高い患者をすべて選択します。
SELECT FROM patients WHERE %SEARCH.&[[MEASURES].[Test Score]>60]
Result: 6,191
より一般的には、comparison expression は、論理式の組み合わせにできます。式には、以下の要素を含めることができます。
-
論理比較演算子 : > (より大きい)、>= (以上)、= (等しい)、< (より小さい)、<= (以下)。
検索可能メジャーに文字列値が含まれる場合は、SQL LIKE 演算子も使用できます。
-
AND 演算子、OR 演算子、および優先順位を制御する括弧。
-
数値リテラル。
-
一重引用符で囲んだ文字列リテラル。
-
SQL 式の IS NULL および IS NOT NULL。例えば以下のようになります。
SELECT FROM HOLEFOODS WHERE [%Search].&[[Measures].[Units Sold] IS NULL]
用途
メジャー検索式は、以下のすべての状況で使用できます。
その他の注意事項
システムでは、メジャー検索式が以下のように解析されます。
-
%Search は、ディメンジョンとして扱われます。
-
比較式は &[] 内に囲まれているため、システムはこれを KEY 値として扱い、任意の構文を含むことを許可します。
-
比較式は、ファクト・テーブルに対する SQL 文に変換されます。
これは、comparison expression に SQL 構文を含めることができることを意味します。
また、キューブの定義で searchable="true" とマークされていない場合でも、メジャー検索式でメジャーを使用できる場合があります。この属性値があると、システムでは以下の 2 つを実行します。
-
このメジャーを、高度なフィルタのオプションとして表示する。
-
必要に応じてインデックスを追加し、このメジャーを検索可能にする。