正在更改过滤条件建议

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

默认行为

默认情况下,在 Look 或“探索”中,当用户为支持建议的字段输入过滤条件值时,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 %} 液态变量来引用用户输入或选择的值。或者,您也可以使用 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

请参阅 full_suggestions 页面,了解 Looker 提供建议的默认行为以及使用 sql_always_whereaccess_filter 的“探索”功能的注意事项

suggest_dimension(字段)和 suggest_explore(字段)

Looker 通常通过对过滤条件字段执行 SELECT DISTINCT 查询来生成过滤条件建议。对于某些大型表,此查询速度可能会太慢,或导致数据库负载过大。您可以结合使用 suggest_dimension 将 Looker 查询作为过滤器建议的替代维度,并结合使用 suggest_explore(如果该维度位于其他探索中)。

suggestions(字段)

suggestions 可让您对一系列可能的过滤条件建议值进行硬编码。如果您不希望某个字段中的某些数据值显示为建议,而是希望指定一个数量更有限的列表,此方法会非常有用。

缓存过滤器建议

本部分介绍了 suggest_persist_for 参数,您可以通过该参数配置过滤器建议的缓存时长。

如果您希望减少数据库的负载,并且某个字段的数据值数量非常多,请考虑使用参数为字段停用过滤器建议。如果您希望显示过滤条件建议,不妨考虑使用参数来限制查询的过滤条件值或对相应的选项进行硬编码

suggest_persist_for(字段)

默认情况下,过滤器建议缓存六小时,该时长内的建议列表是相同的。借助 suggest_persist_for 参数,您可以更改过滤器建议的缓存时长。