等級是將值分類的好方法。不過,如果使用 LookML type: tier
維度,這些分桶會是預先定義且靜態的。有時您可能會想要建立動態層級,讓使用者變更分層大小。你可以在 Looker 中使用篩選器限定欄位 (稱為 parameter
參數),搭配模板語言 (稱為 Liquid) 來完成這項操作。
如果您有權建立或編輯自訂欄位,也可以使用自訂分群,在探索中原生建立動態層級。
如何建立動態層級:
-
建立
type: number
參數,做為前端篩選器欄位,讓使用者輸入所需的數值區塊大小。 -
建立參照參數值的維度,並使用 Liquid 變數
{% parameter parameter_name %}
。這個維度會決定各種桶,並將桶大小動態變更為使用者在前端篩選器欄位 (parameter
參數) 中輸入的值。
舉例來說,開發人員建立動態年齡層級,讓使用者可依自訂範圍分類年齡值:
下列範例的 SQL 語法可能需要調整,以符合您的資料庫方言。
parameter: age_tier_bucket_size { type: number } dimension: dynamic_age_tier { type: number sql: TRUNCATE(${TABLE}.age / {% parameter age_tier_bucket_size %}, 0) * {% parameter age_tier_bucket_size %} ;; }
使用者現在可以在探索中為「Age」欄選擇層級值。舉例來說,使用者可能想將年齡分為 10 年一個區塊,因此會在「年齡層區塊大小」篩選器中輸入 10 的值:
dynamic_age_tier
維度中的 SQL 運算式會將基礎 ${TABLE}.age
資料欄中的年齡值 (例如 25) 除以參數值 10,結果為 2.5。TRUNCATE
函式會將值 2.5 截斷為 2,並乘以參數值 10,結果為 20。20 會成為值區,任何介於 20 到 29 之間的年齡值都會納入 20 值區。