Formatação condicional usando value_format

É comum que os usuários queiram interagir com números curtos. Por exemplo, eles preferem US $2,5 milhões a uma string longa, como US $2.523.093,25. É possível criar exibições de números curtos definindo várias medidas do LookML, como uma para mostrar o valor real, outra dividida por 1.000 ou uma com casas decimais limitadas, e assim por diante.

O LookML pode exibir essas informações automaticamente com uma sintaxe value_format mais avançada.

Sintaxe

Use este padrão para definir formatos de valor com condições:

[if_condition]format; [if_condition]format; else_format

Como o valor do parâmetro value_format já está entre aspas duplas no LookML, todas as aspas duplas aninhadas precisam ser escapadas usando o caractere barra invertida \.

Exemplo com números grandes

Para criar números como 12,23 milhões ou 2,33 mil, use o seguinte código:

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

Ou sem casas decimais:

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

Confira a medida no LookML usando esse formato, com os sinais de dólar adicionados:

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

Exemplo com números negativos grandes

Você pode usar uma sintaxe semelhante com números negativos. Para criar números como -12,23M ou -2,33K, use o seguinte código:

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

Ou sem casas decimais:

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

Confira a medida no LookML usando esse formato, com os sinais de dólar adicionados:

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