用法
explore: explore_name {
always_filter: {
filters: [field_name: "filter expression", field_name: "filter expression", ...]
}
}
|
层次结构
always_filter |
默认值
无
接受
字段名称和 Looker 过滤表达式
|
定义
借助 always_filter 参数,您可以要求用户为探索添加一组过滤条件。使用 always_filter 参数定义过滤条件及其默认值后,探索会自动显示您配置的过滤条件设置。
您在 always_filter 参数中指定的过滤条件无法从探索中移除。不过,您的用户可以通过更改过滤条件的值或从条件下拉菜单中更改过滤条件的条件来修改过滤条件。您的用户还可以从过滤条件中移除所有值,这与移除过滤条件的效果相同。
如果您希望探索具有无法修改或移除的过滤条件,请改用以下参数之一:
- 如需配置对所有人均相同的过滤器,且该过滤器无法以任何方式查看或更改,您可以使用
sql_always_where。 - 如需配置特定于每个用户且无法以任何方式查看或更改的过滤条件,您可以使用
access_filter。
在 always_filter 参数中,filters 子参数中引用的字段可以是维度、衡量指标、过滤条件或参数。如果您需要引用联接视图(而非此探索)中的维度或度量,请使用 view_name.field_name。例如:
explore: order {
always_filter: {
filters: [id: "123", customer.id: "789"]
}
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
在此示例中,id 过滤条件是指 order 中的 id 字段。customer.id 过滤条件是指 customer 中的 id 字段。此示例还演示了您可以添加多个过滤条件。
对于每个 field_name: "filter expression" 对,过滤表达式可以是绝对值,也可以使用 Looker 过滤表达式,具体取决于您要过滤的字段类型。
示例
为订单 ID 字段配置探索的默认过滤条件(默认值为“123”):
explore: order {
always_filter: {
filters: [id: "123"]
}
}
为探索配置订单创建日期字段的默认过滤条件(默认值为过去 7 天):
explore: order {
always_filter: {
filters: [created_date: "7 days"]
}
}
为探索中的订单 ID 字段(默认值为“123”)、订单城市字段(默认值为“芝加哥”)和客户年龄字段(默认值为大于或等于 18)配置默认过滤条件:
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 添加的过滤条件。如果您想以允许用户完全移除过滤条件的方式预加载探索中的过滤条件,请考虑创建包含建议过滤条件的查询,然后与用户分享该查询,以便他们可以使用该查询及其过滤条件作为起点。
设置空白默认值
如果您想创建默认值为空白的默认过滤条件,可以在过滤条件值中指定 "-EMPTY":
always_filter: {
filters: [products.category: "-EMPTY"]
}
always_filter 参数会覆盖 default_value 过滤条件设置
always_filter 参数会替换相应字段的 default_value 设置。如果您使用 always_filter 声明某个值,则该值将成为探索中的默认值。如果您未使用 always_filter 声明值,则“可以是任意值”是探索中的默认过滤条件。
always_filter 会影响现有 Look 和信息中心板块
向现有 explore 定义添加 always_filter 参数,会将一组具有默认值的过滤条件添加到基于该 explore 的任何 Look、Explore 或信息中心图块,包括之前保存的基于该 explore 的 Look 和信息中心图块。