使用 LookML 创建必需的过滤器

您可以直接在 LookML 中指定过滤行为,为用户打造过滤体验。例如,您可以添加大多数用户预计会在“探索”中使用的实用过滤条件,也可以添加默认过滤条件,以最大限度地降低查询给数据库资源造成压力的风险。

本页面简要介绍了会影响所有用户过滤条件的每项 LookML 参数。

创建可供用户更改的过滤条件

下表列出了用于为所有用户设置可见的“探索”级过滤条件的 LookML 参数。用户在浏览和查看外观时可以看到过滤条件并更改过滤条件的值,但无法移除过滤条件。这些过滤条件也适用于信息中心,但除非您还创建了信息中心过滤条件,否则用户无法在信息中心内查看或更改过滤条件的值。

LookML 参数 范围 向用户显示? 是否可由用户修改? 说明
always_filter 探索 使用 always_filter LookML 参数为所有用户设置“探索”级过滤条件。用户可以查看该过滤条件并更改其默认值,但无法将其从“探索”部分中移除。
conditionally_filter 探索 使用 conditionally_filter LookML 参数为所有用户设置“探索”级过滤条件。与 always_filter 类似,用户可以看到过滤条件并更改其默认值。不过,与 always_filter 不同,如果用户改为按特定字段进行过滤,则可以移除使用 conditionally_filter 指定的过滤条件。

创建用户无法更改的过滤条件

下表列出了用于为所有用户设置隐藏的“探索”级过滤条件的 LookML 参数。用户无法更改过滤条件,过滤条件会应用于每个查询的 SQL 中。这些过滤条件也适用于数据分析和信息中心。

LookML 参数 范围 向用户显示? 是否可由用户修改? 说明
sql_always_where 探索 有时 使用 sql_always_where LookML 参数将探索级查询限制设置为从探索生成的所有 SQL 查询的 WHERE 子句。用户将无法更改过滤条件,并且只有在有权查看生成的查询 SQL 的情况下,才能看到过滤条件。
sql_always_having 探索 有时 使用 sql_always_having LookML 参数将探索级查询限制设置为从探索生成的所有 SQL 查询的 HAVING 子句。与 sql_always_where 一样,用户将无法更改过滤条件,并且只有在拥有查看生成的查询 SQL 的权限的情况下,才能查看过滤条件。
sql_where 有时 当查询中包含指定联接时,使用 sql_where LookML 参数可将探索级查询限制设置为从探索生成的所有 SQL 查询的 WHERE 子句。与 sql_always_where 一样,用户将无法更改过滤条件,并且只有在拥有查看生成的查询 SQL 的权限的情况下,才能查看过滤条件。
access_filter 探索 有时 使用 access_filter LookML 参数在通过探索生成的所有 SQL 查询的 WHERE 子句中设置探索级、用户专用查询限制。与 sql_always_where 一样,用户将无法更改过滤条件,并且只有在拥有查看生成的查询 SQL 的权限的情况下,才能查看过滤条件。不过,与 sql_always_where 不同,过滤条件由每个用户的用户属性值决定。

禁止用户按字段进行过滤

下表列出了会阻止按各个字段进行过滤的 LookML 参数。

LookML 参数 范围 向用户显示? 是否可由用户修改? 说明
can_filter 字段 使用 can_filter LookML 参数指定是否可以对某个字段应用过滤条件。如需禁止对某个字段进行过滤,请向该字段添加 can_filter: no 行。这还会阻止在展开式菜单中按该字段进行过滤。
skip_drill_filter 字段 使用 skip_drill_filter LookML 参数指定字段是否可以在展开式菜单中用于过滤。如需阻止对展开菜单中的字段进行过滤,请向该字段添加 skip_drill_filter: yes 行。但在其他位置,您仍可按此字段进行过滤。