在標籤中使用 Liquid 的趣味方式

本頁面會說明如何搭配使用 Looker 的 parameter 欄位和部分可接受 Liquid 變數的 label 子參數。

您必須瞭解 Liquid 才能瞭解本頁面的範例。如要瞭解如何在 Looker 中使用 Liquid,請參閱「Liquid 變數參考資料」說明文件頁面。

使用 view_label 做為動態檢視名稱

Looker 的 view_label 參數可用於在「探索」欄位挑選器中,以更符合情境且更易於使用者理解的名稱,將維度分組。如要進一步瞭解檢視標籤,請參閱 view_label (適用於欄位) 說明文件頁面。

將相同的 view_label 指派給維度,可為使用者簡化「探索」功能。清楚且具描述性的欄位群組,可確保使用者能找到所需的資料。

範例:使用 Liquid 編寫 DRY (不要重複) 程式碼 view_label

舉例來說,假設您在名為「Inventory Items」的探索中,有在「Finance & Accounting」下分類的欄位:view_label

dimension: cost {
  view_label: "Finance & Accounting"
  type: number
  sql: ${TABLE}.COST ;;
}

dimension: cost_ex_vat { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EX_VAT ;; }

dimension: cost_eur { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EUR ;; }

如果您想將 view_label「財務與會計」變更為「Money Zone」,使用 Liquid 可避免重複重寫程式碼。

您可以使用 Looker 的 parameter 欄位,建立所需檢視畫面名稱的類型虛擬變數。在 parameter 中變更檢視名稱後,所有欄位都會更新。

parameter: view_label {
  type: string
  default_value: "The Money Zone"
}

dimension: cost { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST ;; }

dimension: cost_ex_vat { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EX_VAT ;; }

dimension: cost_eur { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EUR ;; }

「Inventory Items Explore」欄位挑選器顯示「Cost」、「Cost Eur」和「Cost Ex Vat」欄位,並以「The Money Zone」檢視標籤分類。

注意:如果您不希望選單中顯示引號,parameter 必須設為 type:unquoted,且 default_value 必須是沒有空格的字串,例如 The_Money_Zone。如果參數為 type:string,就會顯示引號。

動態欄位標籤

您可能有多個使用者群組,他們對欄位名稱的解讀可能不同。舉例來說,有些使用者可能會將毛利率稱為「營業利潤率」,其他使用者則可能會將毛利率稱為「標準利潤率」,具體取決於使用情境。

根據您結合使用者屬性Liquid 變數的方式,不同使用者看到的欄位名稱可能會有所不同。

範例:為不同的使用者屬性使用不同的標籤

以上述範例為例,您可以讓「毛利率」欄位在部分使用者端顯示為「標準利潤率」,在其他使用者端則顯示為「營業利潤率」,以便因應不同的商業邏輯。以下 LookML 會運用使用者屬性和 Liquid 變數。

dimension: gross_margin {
  label: "{% if _user_attributes['customer'] == 'A' %} Standard Margin
    {% elsif _user_attributes['customer'] == 'B' %} Operating Margin
    {% else %} Gross Margin
    {% endif %}"
  type: number
  value_format_name: usd
  sql: ${sale_price} - ${inventory_items.cost} ;;
}

根據 LookML,毛利率欄位會在 使用者 A 的探索欄位挑選器中顯示為營業利潤

根據 LookML,在「探索」欄位挑選器中,毛利率欄位會顯示為「標準利潤率」,適用對象為 User B

這個模式也可以用來為個別使用者建立低層級本地化內容,如下一個範例所示。

範例:為多個探索自訂欄位名稱

這個範例結合了先前範例中的技巧,建立 Explore 時會根據使用者的所在地區,顯示不同的欄位標籤。

在本範例中,有兩個區域團隊 (東區財務團隊和西區財務團隊) 使用名為「公司銷售」的探索。兩個團隊都必須在查詢中使用「總利潤」和「總收益」指標:

measure: total_profit {
  label: "{{ _explore._name}}: Profit"
  type: sum
  sql: ${profit} ;;
}

measure: total_revenue { label: "{{ _explore._name}}: Revenue" type: sum sql: ${sale_price} ;; value_format_name: usd }

不過,每個團隊都希望欄位名稱能反映團隊所在的區域。

開發人員可以讓 Finance East 使用者的欄位名稱與 Finance West 使用者的欄位名稱不同。他們可以使用 DRY LookML 搭配下列 Liquid 參數來執行這項操作:

  • from 參數會指定探索的基礎檢視畫面。
  • explore_label 會為兩個別名 Explore (「公司銷售」) 顯示相同的名稱,為兩個團隊打造相同的探索體驗。
  • 您可以利用 {{ _explore._name}} Liquid 變數,根據團隊所在區域變更指標的標籤,這項變數會擷取並顯示 Explore 名稱。
  • 探索:

    explore: Finance_East{
      from: order_items
      label: "Company Sales"
      view_label: "The Money Zone"
    }
    

    explore: Finance_West{ from: order_items label: "Company Sales" view_label: "The Money Zone" }

    在探索時,Finance East 團隊會看到「總利潤」欄位為「Finance_East: Profit」,而「總收益」欄位為「Finance_East: Revenue」

    在探索時,西區財務團隊會看到「總利潤」欄位為「Finance_West: Profit」,而「總收益」欄位為「Finance_West: Revenue」

    如要進一步瞭解如何自訂欄位在使用者畫面上的顯示方式,請參閱「變更『探索』選單和欄位挑選器」說明文件。