本页面简要介绍了影响过滤条件建议的 LookML 参数。本页面列出了每个参数,并提供了指向其完整参考页面的链接以及其功能的简短说明。
默认行为
默认情况下,在 Look 或“探索”中,当用户为支持建议的字段输入过滤条件值时,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
(查看)
默认情况下,当用户按支持建议的字段过滤“探索”时,Looker 会为该字段建议可能的值。
您可以使用 suggestions:no
定义视图,为视图中的所有字段停用建议功能。
suggestable
(字段)
默认情况下,当用户在支持建议的字段上过滤探索时,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
过滤条件的字段,则可以使用{% parameters %} 液态变量来引用用户输入或选择的值。您可以选择使用 allowed_value
定义用户可为该参数字段选择的值列表。
allowed_value
有两个子参数:label
和 value
。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 会将“探索”逻辑添加到其过滤条件建议查询中,这意味着 Looker 将包含查询过滤条件字段所需的所有探索的联接,并且 Looker 将包含探索参数中的逻辑,例如sql_always_where
、access_filter
和conditionally_filter
。
如需了解 Looker 提供建议的默认行为以及使用 sql_always_where
或 access_filter
的探索注意事项,请参阅 full_suggestions
页面
suggest_dimension
(字段)和 suggest_explore
(字段)
Looker 通常通过对过滤条件字段执行 SELECT DISTINCT 查询来生成过滤条件建议。对于某些大型表,此查询的速度可能过慢或会造成数据库负载过大。您可以使用 suggest_dimension
让 Looker 查询其他维度以获取过滤条件建议,并将其与 suggest_explore
结合使用(如果该维度位于其他“探索”中)。
suggestions
(字段)
suggestions
可让您对一系列可能的过滤条件建议值进行硬编码。如果您不希望某个字段中的某些数据值显示为建议,而是希望指定一个数量更有限的列表,此方法会非常有用。
缓存过滤器建议
本部分介绍了 suggest_persist_for
参数,您可以使用该参数配置过滤条件建议的缓存时长。
如果您想减轻数据库的负载,并且字段的数据值数量非常多,不妨考虑使用参数来为字段停用过滤器建议。如果您希望显示过滤条件建议,不妨考虑使用参数来限制查询的过滤条件值或对适当的选项进行硬编码。
suggest_persist_for
(字段)
默认情况下,过滤器建议会缓存 6 小时,因此在该时间段内,系统会显示相同的建议列表。借助 suggest_persist_for
参数,您可以更改过滤器建议的缓存时长。