使用 LookML 建立必要篩選條件

您可以直接在 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 行新增至該欄位。但仍可在其他位置進行篩選。