フィルタ候補の変更

このページでは、フィルタの候補に影響する LookML パラメータの概要について説明します。このページには、各パラメータの完全なリファレンス ページへのリンク、関数の簡単な説明、機能の説明が表示されます。

デフォルト動作

デフォルトでは、Look または Explore で、ユーザーが type: string のディメンションのフィルタ値を入力すると、Looker はユーザーが入力した値に一致するオプションを提案します。ダッシュボード上では、ダッシュボード フィルタが type: string のフィールドでフィルタリングされている場合(以前のダッシュボードで、フィルタがフィールド タイプのフィルタである場合)、Looker はフィルタ オプションも提案します。これらのフィルタの候補は、ディメンションで SELECT DISTINCT クエリを使用して作成されるので、そのフィールドの既存のデータに一致する値のみが返されます。

フィルタの候補を有効または無効にする

このセクションでは、フィルタの候補を有効または無効にできる LookML の次のパラメータについて説明します。

suggestable(フィールド)

suggestableno に設定すると、ディメンションまたはフィルタの提案を無効にできます。suggestable のデフォルト値は yes であるため、可能であれば Looker からユーザーに候補が表示されます。suggestableno に設定した場合、Looker は提案を行いません。

suggestions(表示)

suggestionsno に設定すると、ビュー内のすべてのディメンションに対して候補を無効にできます。suggestions のデフォルト値は yes であるため、可能であれば Looker からユーザーに候補が表示されます。suggestionsno に設定した場合、Looker は提案を行いません。

フィルタ候補の値

このセクションでは、次の LookML パラメータについて説明します。これらのパラメータを使用して、フィルタ候補に表示される値を設定または制限できます。

allowed_value(フィールド)

allowed_valueparameter LookML パラメータと連携して機能します。Looker 開発者が parameter フィルタのみのフィールドを提供する場合、ユーザーが入力または選択した値は、{% parameter %} の Liquid 変数を使用して参照できます。必要に応じて、allowed_value を使用して、ユーザーがそのパラメータ フィールドに選択できる値のリストを定義できます。

allowed_value には、labelvalue の 2 つのサブパラメータがあります。label サブパラメータは、フィルタ候補でユーザーに表示されるオプションを指定します。value サブパラメータには、{% parameter %} Liquid 変数に渡される値が含まれます。

詳しくは、parameter リファレンス ページのこちらのセクションをご覧ください。

bypass_suggest_restrictions(フィールド)

bypass_suggest_restrictions は、本来無効になる、または制限される状況でフィルタの候補を有効にします。sql_always_where または access_filter を使用してユーザーに表示される行を制限した場合、フィルタの候補は許可された行の値に限定されます。ただし、特定のディメンションまたはフィルタ フィールドに、機密情報を開示する可能性のある値がないことが確実な場合は、bypass_suggest_restrictions を使用してフィルタの候補をすべて復元できます。

case(フィールド)

case を使用すると、ケースロジックでディメンションの結果をバケット化できます。これは、case ステートメントで定義された値のみが、そのディメンションのフィルタ候補として表示されるため、フィルタの候補に影響します。

case を使ってディメンションについてユーザーに提示される候補は、full_suggestions を使用している場合に制限されませんcase パラメータで指定したオプションは、すべてのユーザーに公開されます。

case を使用するディメンションは、リンクされたフィルタ(従来のダッシュボードではファセット フィルタ)でも使用できます。これは、他のフィルタを更新しているフィルタでディメンションが使用されている場合です。case を使用するディメンションは、更新中のフィルタでは使用できません。

full_suggestions(フィールド)

full_suggestionsno に設定されている場合、ディメンションのフィルタ候補は無効になります。

case を使ってディメンションについてユーザーに提示される候補は、full_suggestions を使用している場合に制限されませんcase パラメータで指定したオプションは、すべてのユーザーに公開されます。

suggest_dimension(フィールド)と suggest_explore(フィールド)

Looker では通常、フィルタ フィールドで SELECT DISTINCT クエリを実行してフィルタ候補を生成します。テーブルが大きすぎると、このクエリは遅すぎるか、データベースの負荷が大きすぎることがあります。suggest_dimension を使用すると、Looker のクエリでフィルタ候補の別のディメンションを指定できます。そのディメンションが別の Explore に存在する場合は、suggest_explore と組み合わせて使用できます。

suggestions(フィールド)

suggestions を使用すると、フィルタの推奨値のリストをハードコードできます。これは、フィールドの特定のデータ値を候補として表示せず、限定的なリストを指定する場合に便利です。

フィルター提案のキャッシング

このセクションでは、suggest_persist_for パラメータについて説明します。このパラメータでは、フィルタ候補をキャッシュに保存する期間を構成できます。

データベースの負荷を軽減し、ディメンションのデータ値の数が非常に多い場合は、パラメータを使用してディメンションのフィルタ候補を無効にすることを検討してください。フィルタの候補を表示するには、パラメータを使用して、クエリするフィルタの値を制限したり、適切なオプションをハードコードしたりすることを検討してください。

suggest_persist_for(フィールド)

デフォルトでは、フィルタの候補は 6 時間キャッシュされ、その期間の候補は同じリストで表示されます。suggest_persist_for パラメータを使用すると、フィルタ候補のキャッシュ保存期間を変更できます。