クエリの結果に含めるレコードを定義するには、クエリ にフィルターを追加し、ビルダーでその条件を設定します。フィルターの条件は以下の通りです:
- 特定のアカウントや日付などの静的値
- クエリの実行時に動的に値を設定するパラメータ
- SQL操作や関数から得られる計算値
フィルターの条件を定義するには、フィルター タブでその値を選択し、フィルタープロパティー パネルからその値を設定する。
静的値によるフィルター
静的な値に基づいてレコードを含めるには、フィルタプロパティ パネルに値を入力し、適用 をクリックします。
動的パラメータ値によるフィルター
実行時にデータをスライスするなど、クエリの実行時に動的にフィルタの値を設定するには、パラメータ値を使用します:
-
フィルタ・プロパティ タブから、パラメータ をクリックし、使用するパラメータを選択する。パラメータを追加するには、パラメータの新規作成をクリックします。
- 適用 と保存 をクリックする。
計算値によるフィルター
SQL操作や関数からフィルターの値を導き出すには、計算値を使います。例:
- クエリ実行時にDate フィールドを常に「現在の」日付にフィルターするには、計算値
NOW()を設定します。 -
現在年次パラメータに相殺し、年度フィールドを前年にフィルターするには、
YEAR = :CurrentYear - 1の計算値を設定します。
計算値を設定する:
-
フィルターのプロパティ パネルから、計算 を有効にする。
- Included Columns で、計算に使用するソース列を追加する。
-
計算 で、値を導き出す数式を作成する。
-
のソース列 を参照するには、
{1} +{2}のように、割り当てられた数値トークンを入力する。 -
パラメータ を参照するには、
:CurrentYearのように、コロンの後にその名称を入力する。
-
のソース列 を参照するには、
- [適用]をクリックします。
フィルター条件と大文字・小文字の区別
フィルター条件は大文字と小文字を区別します。例えば、状態フィルターを"Iowa"に設定した場合、結果には大文字の"Iowa"を含むレコードが含まれますが、小文字の"iowa"は含まれません。しかし、計算を使えば、値のケーシングに関係なくレコードを返却することができる。
- 列の値を小文字に変換するには、
LOWER()関数-例えば、LOWER(TBL.STATE) = 'iowa'-を使った計算をフィルターとして使用します。 - フィルター条件の大文字小文字を区別しないようにするには、正規表現
REGEXP_LIKE条件にiフラグを含む計算値を設定します。例えば、SELECT * FROM table WHERE REGEXP_LIKE(column, '(?i)ab').