用法
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_where或access_filter或always_join的探索,Looker 默认采用full_suggestions: yes行为。由于access_filter、sql_always_where和always_join参数会对探索查询应用限制,因此这些相同的限制也会应用于过滤条件建议查询。如需详细了解 Looker 如何为具有查询限制的探索提供建议,请参阅对具有sql_always_where或access_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_where 或 access_filter 的探索的注意事项
sql_always_where 和 access_filter 参数通常用于控制数据访问权限。每当在探索中使用 sql_always_where 或 access_filter 时,Looker 都会将这些限制应用于其为支持建议的 字段类型提供的过滤条件建议。为防止用户看到不适用于他们的过滤条件建议,Looker 要求将探索逻辑 (full_suggestions:yes) 应用于探索中的过滤条件值建议。因此,如果探索是使用 sql_always_where 或 access_filter 定义的,Looker 将不会为使用 full_suggestions:no 定义的字段提供任何过滤条件建议。
如果您有一个具有 sql_always_where 或 access_filter 的探索,并且您有一个字段,您知道该字段不需要 sql_always_where 或 access_filter 逻辑,则可以通过将 bypass_suggest_restrictions:yes 添加到字段的定义中来替换该行为。bypass_suggest_restrictions:yes 语句会提示 Looker 提供完整的过滤条件值建议列表。