full_suggestions

用法

view: view_name {
  dimension: field_name {
    full_suggestions: yes 
  }
}
层次结构
full_suggestions
可能的字段类型
维度、维度组、过滤条件、参数

接受
布尔值(是或否)

定义

当用户按支持建议的字段类型过滤探索时,Looker 默认会为该字段建议可能的值(如需了解如何影响过滤条件建议,请参阅更改过滤条件建议文档页面)。为了为过滤条件字段提供建议,Looker 会对您的数据库执行查询,以检索该字段的不同值列表。Looker 通常会通过对过滤条件字段执行如下查询来生成这些建议:

SELECT DISTINCT field_name FROM table
WHERE (field_name LIKE '%' OR field_name LIKE '% %')
GROUP BY 1 ORDER BY 1 LIMIT 1000

full_suggestions 参数用于控制 Looker 如何查询您的数据库,以便在探索的过滤条件中为字段的值提供建议:

  • full_suggestions: no:Looker 将使用其 典型的过滤条件建议查询,并且只会查询包含过滤条件字段的视图。
  • full_suggestions: yes:Looker 会将探索逻辑添加到其过滤条件建议查询中,这意味着 Looker 会包含查询过滤条件字段所需的任何探索联接,并且 Looker 会包含探索参数中的逻辑,包括以下参数:

默认行为

如果未为字段指定 full_suggestions 参数,Looker 会按以下行为查询建议值:

  • 对于使用 sql_always_whereaccess_filteralways_join 的探索,Looker 默认采用 full_suggestions: yes 行为。由于 access_filtersql_always_wherealways_join 参数会对探索查询应用限制,因此这些相同的限制也会应用于过滤条件建议查询。如需详细了解 Looker 如何为具有查询限制的探索提供建议,请参阅对具有 sql_always_whereaccess_filter 的探索的注意事项。
  • 否则,Looker 默认采用 full_suggestions: no 行为,仅查询过滤条件字段的视图,而不包含任何探索逻辑。full_suggestions: no 设置可提高过滤条件建议的性能,因为 Looker 会查询单个表,而无需任何联接,也无需使用探索中定义的任何逻辑。

示例

如需让 Looker 在为维度提供过滤条件建议时使用探索的逻辑来查询您的数据库,请将 full_suggestions: yes 添加到维度的定义中:

dimension: project_name {
  type: string
  sql: ${TABLE}.project_name ;;
  full_suggestions: yes
}

对具有 sql_always_whereaccess_filter 的探索的注意事项

sql_always_whereaccess_filter 参数通常用于控制数据访问权限。每当在探索中使用 sql_always_whereaccess_filter 时,Looker 都会将这些限制应用于其为支持建议的 字段类型提供的过滤条件建议。为防止用户看到不适用于他们的过滤条件建议,Looker 要求将探索逻辑 (full_suggestions:yes) 应用于探索中的过滤条件值建议。因此,如果探索是使用 sql_always_whereaccess_filter 定义的,Looker 将不会为使用 full_suggestions:no 定义的字段提供任何过滤条件建议。

如果您有一个具有 sql_always_whereaccess_filter 的探索,并且您有一个字段,您知道该字段不需要 sql_always_whereaccess_filter 逻辑,则可以通过将 bypass_suggest_restrictions:yes 添加到字段的定义中来替换该行为。bypass_suggest_restrictions:yes 语句会提示 Looker 提供完整的过滤条件值建议列表。