Maximizar a reutilização de código com o LookML DRY: definir uma string uma vez para usar em todo o projeto do LookML

Pode usar o parâmetro constant do LookML no ficheiro de manifesto do seu projeto para definir uma string que pode ser usada em todo o projeto. As constantes LookML podem ser úteis quando precisa de definir uma string específica, como um número, um nome ou formatação HTML para valores de campos, e reutilizar esse valor em todo o seu projeto.

Esta página inclui os seguintes exemplos de utilização de constantes do LookML para definir e manter valores de strings reutilizáveis num único local:

Ingredientes

Pré-requisitos

Exemplo: usar a mesma string nas etiquetas de várias explorações

Suponhamos que quer criar duas explorações, etiquetadas como Utilizadores de Lisboa e Encomendas de Lisboa na IU, mas não quer escrever manualmente o texto de cada etiqueta.

Para o fazer, pode definir uma constante place_name com o valor "San Francisco" no ficheiro de manifesto do projeto para o seu projeto:

constant: place_name {
  value: "San Francisco"
}

Em seguida, pode fazer referência a esta constante em qualquer parte do seu projeto onde uma string seja aceite, através da sintaxe @{place_name}. Neste exemplo, pode definir as análises detalhadas users e orders, especificando "@{place_name} Users" e "@{place_name} Orders" como valores para o parâmetro label, como no exemplo seguinte:


explore: users {
  label: "@{place_name} Users"
}

explore: orders {
  label: "@{place_name} Orders"
}

Neste exemplo, o Looker apresenta Utilizadores de Lisboa e Encomendas de Lisboa no menu Explorar e nos títulos das explorações, em vez das etiquetas predefinidas Utilizadores e Encomendas.

Suponhamos que quer atualizar todas as referências a São Francisco para Área da Baía.

Em vez de ter de atualizar cada referência manualmente, só tem de fazer uma única atualização à constante place_name no ficheiro do manifesto do seu projeto:

constant: place_name {
  value: "Bay Area"
}

Uma vez que definiu a constante place_name, não tem de alterar manualmente São Francisco para Área da Baía em vários locais. As referências a São Francisco com a constante place_name são substituídas por Área da Baía, pelo que o Looker apresenta Utilizadores da Área da Baía e Encomendas da Área da Baía no menu Explorar e nos títulos das explorações.

Exemplo: aplicar a mesma formatação a valores negativos para vários campos

Imagine que quer que os valores de dados negativos sejam apresentados a vermelho e entre parênteses sempre que aparecem em gráficos ou consultas.

Se definir esta formatação como o valor de uma constante do LookML, pode especificar a formatação apenas uma vez através de variáveis do Liquid e HTML. Em seguida, pode fazer referência à constante sempre que quiser aplicar essa formatação a um campo.

Por exemplo, pode criar uma constante denominada negative_format que pode usar para aplicar esta formatação a um campo:


constant: negative_format {
  value: "{% if value < 0 %}
            <p style='color:red;'>({{rendered_value}})</p>
          {% else %}
            {{rendered_value}}
          {% endif %}"
}

Este código cria a constante negative_format, que especifica que os valores de dados negativos devem ter um tipo de letra vermelho e estar entre parênteses. Em seguida, pode aplicar esta formatação a dimensões e medidas no seu conjunto de dados através do parâmetro html.

Por exemplo, pode criar a medida Valor total de type: sum e especificar @{negative_format} como o valor do parâmetro html:


measure: total_amount {
  type: sum
  value_format_name: usd
  sql: ${amount} ;;
  html: @{negative_format} ;;
}

Na tabela, os valores negativos da medida Valor total são formatados conforme especificado na definição constante negative_format, com um tipo de letra vermelho e entre parênteses.

Se quiser aplicar a mesma formatação a valores negativos para outros campos, pode fazer referência à constante negative_format no parâmetro html para esses campos.