建立動態層級

等級是將值分類的好方法。不過,如果使用 LookML type: tier 維度,這些分桶會是預先定義且靜態的。有時您可能會想要建立動態層級,讓使用者變更分層大小。你可以在 Looker 中使用篩選器限定欄位 (稱為 parameter 參數),搭配模板語言 (稱為 Liquid) 來完成這項操作。

如果您有權建立或編輯自訂欄位,也可以使用自訂分群,在探索中原生建立動態層級。

如何建立動態層級:

  1. 建立 type: number 參數,做為前端篩選器欄位,讓使用者輸入所需的數值區塊大小。
  2. 建立參照參數值的維度,並使用 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 的值:

使用「使用者動態年齡層」和「使用者人數」探索,並以「使用者年齡層桶大小」篩選器中的值 10 篩除資料。

dynamic_age_tier 維度中的 SQL 運算式會將基礎 ${TABLE}.age 資料欄中的年齡值 (例如 25) 除以參數值 10,結果為 2.5。TRUNCATE 函式會將值 2.5 截斷為 2,並乘以參數值 10,結果為 20。20 會成為值區,任何介於 20 到 29 之間的年齡值都會納入 20 值區。