-
アナライザで [Tutorial] キューブを開きます。
アナライザでは、キューブとサブジェクト領域の両方をサブジェクト領域と呼びます。これらの形式的な区別は、作成時にのみ関係します。
-
[新規作成] をクリックします。
アナライザにカウント (レコード数) が表示されます。
フィルタを追加する前に、クエリが現在どのように定義されているかを確認し、比較の基盤とします。
-
クエリ文字列ボタン をクリックします。
これで、アナライザで使用している MDX クエリを示すダイアログ・ボックスが表示されます。
SELECT FROM [TUTORIAL]
-
[OK] をクリックします。
-
[ColorD] および [Favorite Color] を展開します。
-
[Orange] を [フィルタ] にドラッグ・アンド・ドロップします。
これでアナライザは、好きな色がオレンジの患者のみを使用します。これは、以下のようになります。
-
クエリ文字列ボタン をクリックします。
これで、以下のクエリが表示されます。
SELECT FROM [TUTORIAL] %FILTER [COLORD].[H1].[FAVORITE COLOR].&[ORANGE]
%FILTER キーワードはクエリを制限します。%FILTER より後の部分はフィルタ式です。
[COLORD].[H1].[FAVORITE COLOR].&[ORANGE]
このフィルタ式は、メンバ (Favorite Color レベルの Orange メンバ) を参照するため、メンバ式です。メンバはレコード・セットであり、メンバ式はそのレコード・セットを参照します。
この式はディメンジョン、階層およびレベルの名前を使用します。&[ORANGE] フラグメントは、Orange メンバのキーを参照します。アナライザは名前ではなくキーを使用しますが、メンバ名が一意であれば、どちらを使用してもかまいません。
-
[OK] をクリックします。
-
フィルタに別の色を追加します。そのためには、以下の操作を実行します。
-
[フィルタ] で [Orange] の横にある [X] をクリックします。
これによって、そのフィルタが削除されます。
-
[Favorite Color] を [フィルタ] にドラッグ・アンド・ドロップします。これによって、フィルタ・ボックスがピボット・テーブルのすぐ上に追加されます。
-
そのフィルタ・ボックスで、検索ボタンをクリックし、[Orange] と [Purple] を選択します。
-
チェック・マークをクリックします。
この操作により、ピボット・テーブルがフィルタ処理されます。
Important:
[Orange] および [Purple] を個別に [フィルタ] ボックスにドラッグ・アンド・ドロップしないでください。代わりに、ここでの説明に従ってレベルをドラッグし、メンバを選択します。
アナライザの表示は以下のようになります。
システムは、好きな色がオレンジまたは紫の患者のみを使用するようになりました (オレンジのみの場合よりカウントが増えていることに注意してください)。
-
クエリ・テキストを再度表示します。以下のように表示されます。
SELECT FROM [TUTORIAL]
%FILTER %OR({[COLORD].[H1].[FAVORITE COLOR].&[ORANGE],[COLORD].[H1].[FAVORITE COLOR].&[PURPLE]})
この場合、フィルタ式は以下のようになります。
%OR({[COLORD].[H1].[FAVORITE COLOR].&[ORANGE],[COLORD].[H1].[FAVORITE COLOR].&[PURPLE]})
%OR 関数はインターシステムズの最適化関数です。この関数の引数はセットです。
セットは中括弧 {} で囲まれ、要素のコンマ区切りリストから構成されます。この場合、セットには 2 つのメンバ式が含まれています。セット式は、セットの要素で示されたすべてのレコードを参照します。この場合、セットは、好きな色がオレンジであるすべての患者と、好きな色が紫であるすべての患者を参照します。
-
[OK] をクリックします。
-
フィルタのドロップダウン・リストを使用して、[Purple] の横にあるチェック・ボックスのチェックを外します。
これでアナライザは、好きな色がオレンジの患者のみを使用します。
-
[AllerD] および [Allergies] を展開します。
-
[mold] を [フィルタ] の [Orange] の下にドラッグ・アンド・ドロップします。
アナライザの表示は以下のようになります。
Orange のみを使用した場合よりカウントが少ないことに注意してください。このピボット・テーブルには、好きな色がオレンジで、カビに対するアレルギーがある患者のみが表示されます。
-
クエリ・テキストを再度表示します。以下のように表示されます。
SELECT FROM [TUTORIAL]
%FILTER NONEMPTYCROSSJOIN([ALLERD].[H1].[ALLERGIES].&[MOLD],[COLORD].[H1].[FAVORITE COLOR].&[ORANGE])
この場合、フィルタ式は以下のようになります。
NONEMPTYCROSSJOIN([ALLERD].[H1].[ALLERGIES].&[MOLD],[COLORD].[H1].[FAVORITE COLOR].&[ORANGE])
MDX 関数 NONEMPTYCROSSJOIN は、2 つのメンバを結合して、生成されたタプルを返します。このタプルは、指定されたメンバの両方に属するレコードにのみアクセスします。