您可以在專案的資訊清單檔案中使用 LookML constant
參數,定義可在整個專案中使用的字串。當您需要定義特定字串 (例如數字、名稱或欄位值的 HTML 格式),並在整個專案中重複使用該值時,LookML 常數就非常實用。
本頁面包含下列範例,說明如何使用 LookML 常數在單一位置定義及維護可重複使用的字串值:
- 在多個探索的標籤中使用相同字串:如果您在定義中重複使用常見字串 (例如字詞、片語或位置名稱),這項技巧可協助您節省時間。
- 為多個欄位的負值套用相同格式:您可以定義條件式格式規格,並套用至多個欄位,節省時間。
食材
必要條件
範例:在多個探索的標籤中使用相同字串
假設您想在 UI 中建立兩個探索,分別標示為「舊金山使用者」和「舊金山訂單」,但不想手動輸入每個標籤的文字。
如要這麼做,請在專案的專案資訊清單檔案中,定義值為 "San Francisco"
的常數 place_name
:
constant: place_name {
value: "San Francisco"
}
然後,您可以使用 @{place_name}
語法,在專案中接受字串的任何部分參照這個常數。在本範例中,您可以定義 users
和 orders
探索,並為 label
參數指定 "@{place_name} Users"
和 "@{place_name} Orders"
做為值,如下列範例所示:
explore: users {
label: "@{place_name} Users"
}
explore: orders {
label: "@{place_name} Orders"
}
在本範例中,Looker 會在「探索」選單和「探索」標題中顯示「舊金山使用者」和「舊金山訂單」,而不是預設的「使用者」和「訂單」標籤。
假設您想將所有「舊金山」參照更新為「灣區」。
您不必手動更新每個參照,只要在專案的資訊清單檔案中更新 place_name
常數即可:
constant: place_name {
value: "Bay Area"
}
由於您定義了 place_name
常數,因此不必在多個位置手動將「San Francisco」變更為「Bay Area」。系統會將 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
常數。