本页简要介绍了影响过滤条件建议的 LookML 参数。本页面列出了每个参数,并提供了指向其完整参考页面的链接以及其功能的简短说明。
默认行为
默认情况下,在“探索”或“探索”中,当用户为支持建议的字段输入过滤条件值时,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
仅限过滤条件的字段,则可以使用 {% parameter %} Liquid 变量引用用户输入或选择的值。您可以选择使用 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
参数,您可以更改过滤建议的缓存时长。