本页面简要介绍了影响过滤条件建议的 LookML 参数。本页面列出了每个参数,并提供了指向其完整参考页面的链接以及对其功能的简短说明。
默认行为
默认情况下,在 Look 或“探索”中,当用户为支持建议的 字段输入过滤条件值时,Looker 会建议与用户输入内容匹配的选项。在信息中心内,如果信息中心过滤条件按支持建议的字段进行过滤,Looker 也会建议过滤条件选项。这些过滤条件建议是使用对字段执行 SELECT DISTINCT 查询创建的,因此建议只会返回与该字段的现有数据匹配的值:

如果您遇到任何意外行为并且需要排查过滤条件建议方面的问题,请参阅问题排查常见过滤条件建议问题最佳实践页面。
支持建议的字段类型
Looker 支持为 dimension、dimension_group、filter 和 parameter 字段提供以下 type 值的建议。
支持建议的维度 type 值:
支持建议的维度组 type 值:
type: time,具有以下timeframes值:
支持建议的过滤条件 type 值:
type: string
支持建议的参数 type 值:
type: stringtype: 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 语句中定义的值才会显示为该维度的过滤条件建议。
如果使用 case 的维度用于更新其他过滤条件的过滤条件,则该维度可以与 关联的过滤条件 搭配使用。使用 case 的维度不能用于正在更新的过滤条件。
full_suggestions(字段)
您可以使用 full_suggestions 参数定义字段,以控制 Looker 如何查询数据库,从而为过滤条件的字段值提供建议:
full_suggestions: no:Looker 将使用不同的值执行基本查询,并且只会查询包含过滤条件字段的视图。full_suggestions: yes:Looker 会将“探索”逻辑添加到其过滤条件建议查询中,这意味着 Looker 会包含查询过滤条件字段所需的任何“探索”联接,并且 Looker 会包含“探索”参数中的逻辑,例如sql_always_where、access_filter和conditionally_filter。
如需了解 full_suggestions 页面上关于 Looker 提供建议的默认行为 以及使用 sql_always_where 或 access_filter 的“探索”的 注意事项的信息
suggest_dimension(字段)和 suggest_explore(字段)
Looker 通常通过对过滤条件字段执行 SELECT DISTINCT 查询来生成过滤条件建议。对于某些大型表,此查询可能会太慢或产生过大的数据库负载。您可以结合使用 suggest_dimension 和 suggest_explore(如果该维度位于不同的“探索”中),让 Looker 查询替代维度以获取过滤条件建议。
suggestions(字段)
suggestions 借助 `suggestions`,您可以对可能的过滤条件建议值列表进行硬编码。如果您不希望字段中的某些数据值显示为建议,而是希望指定一个更有限的列表,这可能会很有用。
缓存过滤条件建议
本部分介绍了 suggest_persist_for 参数,您可以使用该参数配置过滤条件建议的缓存时长。
如果您想减少数据库的负载,并且字段的数据值数量非常多,请考虑使用参数为字段停用过滤条件建议。如果您希望显示过滤条件建议,请考虑使用参数来限制查询的过滤条件值,或对相应选项进行硬编码。
suggest_persist_for(字段)
默认情况下,过滤条件建议会缓存 6 小时,因此在这一时长内,建议列表是相同的。借助 suggest_persist_for 参数,您可以更改过滤条件建议的缓存时长。