本页面简要介绍了影响过滤条件建议的 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
过滤条件的字段,则可以使用 {% parameter %} 液态变量来引用用户输入或选择的值。或者,您也可以使用 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
。
请参阅 full_suggestions
页面,了解 Looker 提供建议的默认行为以及使用 sql_always_where
或 access_filter
的“探索”功能的注意事项
suggest_dimension
(字段)和 suggest_explore
(字段)
Looker 通常通过对过滤条件字段执行 SELECT DISTINCT 查询来生成过滤条件建议。对于某些大型表,此查询速度可能会太慢,或导致数据库负载过大。您可以结合使用 suggest_dimension
将 Looker 查询作为过滤器建议的替代维度,并结合使用 suggest_explore
(如果该维度位于其他探索中)。
suggestions
(字段)
suggestions
可让您对一系列可能的过滤条件建议值进行硬编码。如果您不希望某个字段中的某些数据值显示为建议,而是希望指定一个数量更有限的列表,此方法会非常有用。
缓存过滤器建议
本部分介绍了 suggest_persist_for
参数,您可以通过该参数配置过滤器建议的缓存时长。
如果您希望减少数据库的负载,并且某个字段的数据值数量非常多,请考虑使用参数为字段停用过滤器建议。如果您希望显示过滤条件建议,不妨考虑使用参数来限制查询的过滤条件值或对相应的选项进行硬编码。
suggest_persist_for
(字段)
默认情况下,过滤器建议缓存六小时,该时长内的建议列表是相同的。借助 suggest_persist_for
参数,您可以更改过滤器建议的缓存时长。