always_filter

用途

explore: explore_name {
  always_filter:  {
    filters:  [field_name: "filter expression", field_name: "filter expression", ...]
  }
}
階層
always_filter
デフォルト値
なし

許可
フィールド名と Looker フィルタ式

定義

always_filter パラメータを使用すると、Explore にフィルタセットを含めるようにユーザーに要求できます。always_filter パラメータを使用してフィルタとそのデフォルト値を定義すると、Explore に構成したフィルタ設定が自動的に表示されます。

always_filter パラメータで指定したフィルタは、Explore から削除できません。ただし、ユーザーはフィルタの値を変更するか、条件プルダウン メニューからフィルタの条件を変更することで、フィルタを変更できます。ユーザーはフィルタからすべての値を削除することもできます。これは、フィルタを削除するのと同じ効果があります。

変更または削除できないフィルタを Explore に設定する場合は、次のいずれかのパラメータを使用します。

  • すべてのユーザーに同じフィルタを構成し、表示や変更を一切できないようにするには、sql_always_where を使用します。
  • 各ユーザーに固有のフィルタを構成し、表示や変更を一切できないようにするには、access_filter を使用します。

always_filter パラメータでは、filters サブパラメータで参照されるフィールドは、ディメンション指標フィルタ、またはパラメータにできます。この Explore の一部ではなく、結合されたビューの一部であるディメンションまたはメジャーを参照する必要がある場合は、view_name.field_name を使用します。次に例を示します。

explore: order {
  always_filter: {
    filters: [id: "123", customer.id: "789"]
  }
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

ここで、id フィルタは orderid フィールドを参照します。customer.id フィルタは、customerid フィールドを参照します。この例は、複数のフィルタを追加できることも示しています。

field_name: "filter expression" ペアのフィルタ式は、フィルタリングするフィールドのタイプに応じて、絶対値にすることも、Looker フィルタ式を使用することもできます。

[Order ID] フィールド(デフォルト値は「123」)で Explore のデフォルト フィルタを構成します。

explore: order {
  always_filter: {
    filters: [id: "123"]
  }
}

[Order Created Date] フィールドの Explore にデフォルト フィルタを構成します(デフォルト値は過去 7 日間)。

explore: order {
  always_filter: {
    filters: [created_date: "7 days"]
  }
}

[Order ID] フィールド(デフォルト値は「123」)、[Order City] フィールド(デフォルト値は「Chicago」)、[Customer Age] フィールド(デフォルト値は 18 以上)で、Explore のデフォルト フィルタを構成します。

explore: order {
  always_filter: {
    filters: [id: "123", city: "Chicago", customer.age: ">=18"]
  }
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

注意点

ユーザーは always_filter で指定されたフィルタを削除できません

ユーザーはクエリの条件やデフォルト値を変更できますが、always_filter によって追加されたフィルタを削除することはできません。ユーザーがフィルタを完全に削除できるように、Explore のフィルタを事前に読み込む場合は、候補のフィルタを含むクエリを作成し、そのクエリをユーザーと共有して、ユーザーがクエリとそのフィルタを起点として使用できるようにすることを検討してください。

空白のデフォルト値を設定する

デフォルト値が空白のデフォルト フィルタを作成する場合は、フィルタ値に "-EMPTY" を指定します。

always_filter: {
  filters: [products.category: "-EMPTY"]
}

always_filter パラメータは default_value フィルタ設定をオーバーライドします

always_filter パラメータは、フィールドの default_value 設定をオーバーライドします。always_filter で値を宣言すると、その値が Explore のデフォルトになります。always_filter で値を宣言しない場合、Explore のフィルタのデフォルトは「is any value」になります。

always_filter が既存の Look とダッシュボードのタイルに影響する

既存の explore 定義に always_filter パラメータを追加すると、その explore に基づく Look、Explore、ダッシュボード タイル(explore に基づく以前に保存された Look やダッシュボード タイルを含む)に、デフォルト値のフィルタのセットが追加されます。