Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

%FILTER 節

SELECT 文にフィルタを適用します。SELECT 文の結果をスライスする方法について説明します。この節は WHERE に似ていますが、1 つの文に複数の %FILTER 節を含めることができる点が異なります。%FILTER は、インターシステムズによる MDX への拡張機能です。

構文および詳細

select_statement %FILTER set_expression

以下は、この指定の説明です。

DeepSee MDX では、必要に応じてタイプが自動的に変換されるため、セット式の代わりに、単一のメンバ式またはタプル式を使用することもできます。

%FILTER 節は、必要な数だけ含めることができます。この節は、SELECT 文に付加するだけで、結果をさらにフィルタ処理できるため、プログラムでクエリを実行する場合に特に便利です (これに対して、WHERE 節を使用して別のフィルタ項目を追加する必要がある場合、許可される WHERE 節が 1 つのみであるため、WHERE 節を書き換える必要があります)。

Important:

各セット要素は別のスライサ軸として使用され、(すべての %FILTER 節の) すべてのスライサ軸の結果がいっしょに集約されます。これは軸のたたみ込みのプロセスです (フィルタはクエリ軸と見なされます)。軸のたたみ込みを実行すると、どのスライサ軸にも NULL の結果がないソース・レコードは複数回カウントされます。

軸のたたみ込みでは、キューブの定義での指定に従い、対象としているメジャーの集約メソッドに基づいて値が組み合わされます (ここの例では、%COUNT が追加されます)。

詳細は、"DeepSee 実装ガイド" の付録 “DeepSee クエリ・エンジンの仕組み” にある “軸のたたみ込み” を参照してください。

%FILTER 節をメジャー検索式で使用する場合、この節は、ファクト・テーブルの行のうち、指定された条件を満たした行を使用します (メジャー検索式は、インターシステムズによる MDX への拡張機能で、ファクト・テーブル自体のメジャー値を考慮するものです)。

SELECT MEASURES.[%COUNT] ON 0 FROM patients %FILTER %SEARCH.&[[MEASURES].[age]<10]
                             Patient Count
                                      1,370

関連項目

"WHERE 節" を参照してください。

FeedbackOpens in a new tab