使用 LookML 创建所需的过滤条件

您可以直接在 LookML 中指定过滤条件行为,以帮助管理用户的过滤条件体验。例如,您可以添加大多数用户希望在探索中使用的实用过滤条件,也可以添加默认过滤条件,从而最大限度地降低查询造成数据库资源紧张的风险。

本页将简要介绍会影响所有用户过滤的各 LookML 参数。

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

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

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 行。该字段仍可在其他位置进行过滤。