使用 value_format 的條件式格式設定

使用者通常會想與短號互動。舉例來說,他們會偏好 $2.5M,而非 $2,523,093.25 這類長字串。您可以建立多個定義的 LookML 指標,例如一個用於顯示原始值、一個除以 1,000 的值,或一個有限制小數位數的值等等,藉此建立短數字顯示。

LookML 可透過更進階的 value_format 語法自動顯示這些資訊。

語法

使用這個模式,設定含有條件的值格式:

[if_condition]format; [if_condition]format; else_format

由於 value_format 參數的值已在 LookML 中以雙引號括住,因此您必須使用反斜線 \ 字元逸出任何巢狀的雙引號。

含有大量數字的範例

如要製作 12.23M 或 2.33K 等數字,您可以使用下列程式碼:

  [>=1000000]0.00,,\"M\";[>=1000]0.00,\"K\";

或不含小數點的值:

  [>=1000000]0,,\"M\";[>=1000]0,\"K\";0

以下是使用此格式的 LookML 指標,並加上美元符號:

  measure: global_amount {
    type: sum
    sql: ${TABLE}.total
    value_format: "[>=1000000]$0.00,,\"M\";[>=1000]$0.00,\"K\";$0.00"
    drill_fields: invoices*
  }

包含大量負數的範例

您可以使用類似的語法搭配負數。如要產生 -12.23M 或 -2.33K 等數字,您可以使用下列程式碼:

  [<=-1000000]0.00,,\"M\";[<=-1000]0.00,\"K\";

或不含小數點的值:

  [<=-1000000]0,,\"M\";[<=-1000]0,\"K\";0

以下是使用此格式的 LookML 指標,並加上美元符號:

  measure: global_amount_negative {
    type: sum
    sql: ${TABLE}.total
    value_format: "[<=-1000000]$0.00,,\"M\";[<=-1000]$0.00,\"K\";$0.00"
    drill_fields: invoices*
  }