您可以在專案的資訊清單檔案中使用 LookML constant
參數,定義可在整個專案中使用的字串。當您需要定義特定字串 (例如數字、名稱或欄位值的 HTML 格式),並在整個專案中重複使用該值時,LookML 常數就非常實用。
本頁面提供以下範例,說明如何使用 LookML 常數,在單一位置定義及維護可重複使用的字串值:
- 在多個探索的標籤中使用相同的字串:如果定義中重複使用常見的字串 (例如字詞、詞組或地點名稱),這項技巧可幫助您節省時間。
- 為多個欄位的負值套用相同的格式:這個方法可定義用於多個欄位的條件式格式規格,有助於節省時間。
食材
事前準備
範例:在多個探索中使用相同的字串做為標籤
假設您想建立兩個探索,並在 UI 中標示為「San Francisco Users」和「San Francisco Orders」,但不想手動輸入每個標籤的文字。
如要這麼做,您可以在專案的專案資訊清單檔案中,定義值為 "San Francisco"
的常數 place_name
:
constant: place_name {
value: "San Francisco"
}
接著,您可以在專案中任何可接受字串的部分,使用 @{place_name}
語法參照這個常數。在這個範例中,您可以定義 users
和 orders
Explore,並指定 "@{place_name} Users"
和 "@{place_name} Orders"
做為 label
參數的值,如以下範例所示:
explore: users {
label: "@{place_name} Users"
}
explore: orders {
label: "@{place_name} Orders"
}
在這個範例中,Looker 會在「探索」選單和「探索」標題中顯示「舊金山使用者」和「舊金山訂單」,而不是預設的「使用者」和「訂單」標籤。
假設您想將所有 舊金山的參照更新為 灣區。
您不必手動更新每個參照,只需針對專案的資訊清單檔案中的 place_name
常數進行單一更新即可:
constant: place_name {
value: "Bay Area"
}
由於您已定義 place_name
常數,因此不必在多個位置手動將「舊金山」變更為「灣區」。使用 place_name
常數的 舊金山參照項目會替換為 灣區,因此 Looker 會在「探索」選單和「探索」標題中顯示「灣區使用者」和「灣區訂單」。
範例:將相同的格式套用至多個欄位的負值
假設您希望負值資料在圖表或查詢中顯示時,以紅色並置於括號內顯示。
只要將這項格式設為 LookML 常數的值,即可使用 Liquid 變數和 HTML 一次指定格式。之後,您可以隨時參照該常數,將該格式套用至欄位。
舉例來說,您可以建立名為 negative_format
的常數,用於將此格式套用至欄位:
constant: negative_format {
value: "{% if value < 0 %}
<p style='color:red;'>({{rendered_value}})</p>
{% else %}
{{rendered_value}}
{% endif %}"
}
這段程式碼會建立常數 negative_format
,指定負值資料應使用紅色字型,並以括號包圍。接著,您可以使用 html
參數,將這類格式套用至資料集中的維度和指標。
舉例來說,您可以建立 type: sum
的「總金額」評估指標,並將 @{negative_format}
指定為 html
參數的值:
measure: total_amount {
type: sum
value_format_name: usd
sql: ${amount} ;;
html: @{negative_format} ;;
}
在表格中,總金額評估指標的負值會採用 negative_format
常數定義中指定的格式,以紅色字型顯示,並以括號包圍。
如果您想將相同的格式套用至其他欄位的負值,可以參考這些欄位的 html
參數中的 negative_format
常數。