このページでは、フィルタの候補に影響する LookML パラメータの概要について説明します。本ページでは、パラメータと詳しい説明ページへのリンクとその機能の簡単な説明を示します。
デフォルトの動作
Look または Explore ではデフォルトで、候補をサポートするフィールドのフィルタ値をユーザーが入力すると、Looker はユーザーが入力した内容に一致するオプションを提案します。ダッシュボードで、ダッシュボード フィルタが候補をサポートするフィールドをフィルタリングしている場合、Looker はフィルタ オプションも提案します。これらのフィルタの候補は、フィールドに対して SELECT DISTINCT クエリを使用して作成されるため、そのフィールドの既存のデータと一致する値のみが返されます。
予期しない動作が発生し、フィルタの候補のトラブルシューティングが必要な場合は、フィルタの候補に関する一般的な問題のトラブルシューティングのベスト プラクティスのページをご覧ください。
候補をサポートするフィールド タイプ
Looker では、dimension
、dimension_group
、filter
、parameter
フィールドの次の type
値の候補がサポートされています
候補をサポートするディメンション type
値:
候補をサポートするディメンション グループの type
値:
type: time
と、次のtimeframes
値。
候補をサポートする type
値をフィルタします。
type: string
候補をサポートするパラメータ type
値:
type: string
type: unquoted
フィルタ候補を有効または無効にする
このセクションでは、フィルタ候補を有効または無効にできる次の LookML パラメータについて説明します。
suggestions
(ビュー)
デフォルトでは、ユーザーが候補をサポートするフィールドで Explore をフィルタすると、Looker はフィールドに使用可能な値を提案します。
suggestions:no
を使用してビューを定義すると、ビュー内のすべてのフィールドの候補を無効にできます。
suggestable
(フィールド)
デフォルトでは、ユーザーが候補をサポートするフィールドで Explore をフィルタすると、Looker はフィールドに使用可能な値を提案します。
suggestable:no
を使用して個々のフィールドを定義すると、そのフィールドに対する候補を無効にできます。
候補の値をフィルタする
このセクションでは、フィルタの候補に表示される値を設定または制限できる次の LookML パラメータについて説明します。
allowed_value
(フィールド)bypass_suggest_restrictions
(フィールド)case
(フィールド)full_suggestions
(フィールド)suggest_dimension
(フィールド)とsuggest_explore
(フィールド)suggestions
(フィールド)
allowed_value
(フィールド)
allowed_value
は、parameter
LookML パラメータと連動します。Looker デベロッパーがparameter
フィルタ限定フィールドの場合、ユーザーが入力または選択した値は、{% parameter %} Liquid 変数] をタップします。必要に応じて、allowed_value
を使用して、ユーザーがこのパラメータ フィールドに対して選択できる値のリストを定義できます。
allowed_value
には label
と value
の 2 つのサブパラメータがあります。label
サブパラメータは、フィルタ候補に表示するオプションを指定します。value
サブパラメータには、{% parameter %}
Liquid 変数に渡される値が含まれます。
たとえば、パラメータは次のように定義できます。
parameter: order_amount {
type: string
allowed_value: {
label: "Less than $50"
value:"< 50"
}
allowed_value: {
label: "Between $50 and $100"
value:"<= 100"
}
allowed_value: {
label: "Over $100"
value:"> 100"
}
}
ユーザーがパラメータをフィルタする際には、[ $50 未満]、[ $50~$100]、[ $100 超] から選択できます。
詳しくは、parameter
リファレンス ページのこのセクションをご覧ください。
bypass_suggest_restrictions
(フィールド)
bypass_suggest_restrictions
: 無効であるか、制限されている場合に、フィルタ候補を有効にします。sql_always_where
または access_filter
を使用してユーザーが閲覧できる行を制限している場合、Looker はフィルタ候補を許可された行の値に制限します。ただし、特定のフィールドに機密情報を示す値がないことが確実な場合は、bypass_suggest_restrictions
を使用してフィルタの候補をすべて復元できます。
case
(フィールド)
case
を使用すると、大文字と小文字のロジックを使用して、ディメンションの結果をバケット化できます。case
文で定義された値のみがそのディメンションのフィルタ候補として表示されるため、これはフィルタ候補に影響します。
case
を使用するディメンションは、他のフィルタを更新するフィルタでディメンションが使用されている場合、リンクフィルタで使用できます。case
を使用するディメンションは、更新中のフィルタでは使用できません。
full_suggestions
(フィールド)
full_suggestions
パラメータを使用してフィールドを定義すると、Looker がデータベースに対してクエリを実行し、フィルタのフィールドの値の候補を提供する方法を制御できます。
full_suggestions: no
: Looker は個別の値の基本クエリを使用し、フィルタ フィールドを含むビューのみをクエリします。full_suggestions: yes
: Looker はフィルタ候補クエリに Explore ロジックを追加します。つまり、Looker にはフィルタのフィールドをクエリするために必要な Explore の結合のいずれかが含まれ、Looker には Explore のパラメータのロジック(例:sql_always_where
、access_filter
、conditionally_filter
が含まれます。
詳しくは、full_suggestions
に関する詳細は、候補を提供するための Looker のデフォルトの動作~Explore に関する考慮事項sql_always_where
またはaccess_filter
suggest_dimension
(フィールド)と suggest_explore
(フィールド)
Looker は通常、フィルタ フィールドに対して SELECT DISTINCT クエリを実行してフィルタの候補を生成します。一部の大きなテーブルでは、このクエリは遅すぎるか、データベースの負荷が大きすぎる可能性があります。ディメンションが別の Explore に存在する場合は、suggest_dimension
を使用して、suggest_explore
と組み合わせて Looker のクエリをフィルタ候補の代替ディメンションにすることができます。
suggestions
(フィールド)
suggestions
を使用すると、フィルタ候補の値のリストをハードコードできます。これは、フィールド内の特定のデータ値を候補として表示せずに、より制限されたリストを指定する場合に便利です。
フィルター提案のキャッシング
このセクションでは、suggest_persist_for
パラメータについて説明します。このパラメータを使用すると、フィルタの候補がキャッシュに保存される期間を構成できます。
データベースへの負荷を軽減したい場合、フィールドのデータ値の数が非常に多ければ、パラメータを使用してフィールドのフィルタ候補を無効化します。フィルタの候補を表示したい場合は、パラメータを使用してクエリするフィルタ値を制限するか、適切なオプションをハードコードすることを検討してください。
suggest_persist_for
(フィールド)
デフォルトでは、フィルタの候補は 6 時間キャッシュされ、その時間に候補の同じリストが表示されます。suggest_persist_for
パラメータを使用すると、フィルタの候補がキャッシュに保存される期間を変更できます。