您可以直接在 LookML 中指定篩選器行為,為使用者提供篩選體驗。舉例來說,您可以新增實用的篩選器,讓大多數使用者在探索中使用,也可以新增預設篩選器,盡量減少查詢對資料庫資源造成的負擔。
本頁面概略說明會影響所有使用者篩選條件的每個 LookML 參數。
建立使用者可變更的篩選器
本表列出 LookML 參數,可為所有使用者設定可見的探索層級篩選條件。使用者在探索及查看外觀時,可以查看篩選器並變更篩選器的值,但無法移除篩選器。這些篩選器也適用於資訊主頁,但除非您也建立資訊主頁篩選器,否則使用者無法在資訊主頁中查看或變更篩選器的值。
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 行新增至該欄位。但仍可在其他位置進行篩選。 |