您可以通过直接在 LookML 中指定过滤器行为,帮助为用户打造过滤体验。例如,您可以添加大多数用户希望在“探索”中使用的实用过滤条件,也可以添加默认过滤条件,以最大限度地降低查询导致数据库资源资源紧张的风险。
本页面简要介绍了影响所有用户过滤的每个 LookML 参数。
创建用户可更改的过滤条件
下表列出了用于为所有用户设置可见探索级过滤条件的 LookML 参数。用户在浏览和查看 Look 时,可以查看过滤条件并更改过滤条件的值,但无法移除过滤条件。这些过滤条件也适用于信息中心,但用户无法在信息中心查看或更改这些过滤条件的值,除非您也创建了信息中心过滤条件。
LookML 参数 | 范围 | 是否向用户显示? | 用户是否可以修改? | 说明 |
---|---|---|---|---|
always_filter |
探索 | 是 | 是 | 使用 always_filter LookML 参数为所有用户设置探索级过滤条件。用户可以查看过滤器并更改其默认值,但无法将其从“探索”中移除。 |
conditionally_filter |
探索 | 是 | 是 | 使用 conditionally_filter LookML 参数为所有用户设置探索级过滤条件。与 always_filter 类似,用户可以查看过滤条件并更改其默认值。但与 always_filter 相反,如果对特定字段进行过滤,用户可以移除使用 conditionally_filter 指定的过滤器。 |
创建用户无法更改的过滤条件
下表列出了用于为所有用户设置隐藏的探索级过滤条件的 LookML 参数。用户无法更改过滤条件,并且过滤在每个查询的 SQL 中应用。这些过滤条件也适用于 Look 和信息中心。
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 行。在其他位置,该字段仍可过滤。 |