更改过滤条件建议

本页简要介绍了影响过滤条件建议的 LookML 参数。本页面列出了每个参数,并提供了指向其完整参考页面的链接以及其功能的简短说明。

默认行为

默认情况下,在“探索”或“探索”中,当用户为支持建议的字段输入过滤条件值时,Looker 会建议与用户输入的内容匹配的选项。在信息中心内,如果信息中心过滤条件过滤的是支持建议的字段,Looker 也会建议过滤选项。这些过滤条件建议是使用针对该字段的 SELECT DISTINCT 查询创建的,因此建议只会返回与该字段的现有数据匹配的值:

过滤条件建议会显示在下拉菜单中,该菜单会在用户选择过滤条件值字段时显示。

如果您遇到任何意外行为并需要排查过滤建议问题,请参阅排查常见过滤建议问题最佳实践页面。

支持建议的字段类型

Looker 支持针对 dimensiondimension_groupfilterparameter 字段的以下 type 值提供建议。

支持建议的维度 type 值:

支持建议的维度组 type 值:

过滤支持建议的 type 值:

  • type: string

支持建议的参数 type 值:

启用或停用滤镜建议

本部分介绍了以下可让您启用或停用过滤条件建议的 LookML 参数:

suggestions(视图)

默认情况下,当用户按支持建议的字段过滤“探索”时,Looker 会为该字段建议可能的值。

您可以使用 suggestions:no 定义视图,以停用视图中所有字段的建议。

suggestable(字段)

默认情况下,当用户按支持建议的字段过滤“探索”时,Looker 会为该字段建议可能的值。

您可以使用 suggestable:no 定义单个字段,以停用该字段的建议功能。

过滤条件建议值

本部分介绍了以下 LookML 参数,可让您设置或限制过滤条件建议中显示的值:

allowed_value(字段)

allowed_value 可与 parameter LookML 参数搭配使用。如果 Looker 开发者提供了 parameter 仅限过滤条件的字段,则可以使用 {% parameter %} Liquid 变量引用用户输入或选择的值。您可以选择使用 allowed_value 定义用户可为该参数字段选择的值列表。

allowed_value 有两个子参数:labelvaluelabel 子参数用于指定用户在过滤条件建议中看到的选项。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_whereaccess_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_whereaccess_filterconditionally_filter

如需了解 Looker 提供建议的默认行为以及使用 sql_always_whereaccess_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 参数,您可以更改过滤建议的缓存时长。