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

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

Esta página inclui os seguintes exemplos de uso de constantes do LookML para definir e manter valores de strings reutilizáveis em um só lugar:

Ingredientes

Pré-requisitos

Exemplo: usar a mesma string nos rótulos de várias análises detalhadas

Suponha que você queira criar duas análises detalhadas, nomeadas Usuários de São Francisco e Pedidos de São Francisco na interface, mas não quer digitar manualmente o texto de cada rótulo.

Para fazer isso, defina uma constante place_name com o valor "San Francisco" no arquivo de manifesto do projeto:

constant: place_name {
  value: "San Francisco"
}

Essa constante pode ser referenciada em qualquer parte do projeto em que uma string é aceita, usando a sintaxe @{place_name}. Neste exemplo, você pode definir as análises users e orders, especificando "@{place_name} Users" e "@{place_name} Orders" como valores para o parâmetro label, como no exemplo a seguir:


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

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

Neste exemplo, o Looker mostra Usuários de São Francisco e Pedidos de São Francisco no menu "Explorar" e nos títulos das análises, em vez dos rótulos padrão Usuários e Pedidos.

Suponha que você queira atualizar todas as referências a São Francisco para Bay Area.

Em vez de atualizar cada referência manualmente, você só precisa fazer uma única atualização na constante place_name no arquivo de manifesto do seu projeto:

constant: place_name {
  value: "Bay Area"
}

Como você definiu a constante place_name, não é necessário mudar manualmente São Francisco para Baía de São Francisco em vários lugares. As referências a São Francisco com a constante place_name serão substituídas por Bay Area, para que o Looker mostre Usuários da Bay Area e Pedidos da Bay Area no menu "Explorar" e nos títulos das análises.

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

Imagine que você quer que os valores de dados negativos sejam mostrados em vermelho e entre parênteses sempre que aparecerem em gráficos ou consultas.

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

Por exemplo, é possível criar uma constante chamada negative_format para aplicar essa formatação a um campo:


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

Esse código cria a constante negative_format, que especifica que os valores de dados negativos precisam ter uma fonte vermelha e estar cercados por parênteses. É possível aplicar essa formatação às dimensões e métricas do conjunto de dados usando o parâmetro html.

Por exemplo, você pode criar a métrica 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 Total serão formatados conforme especificado na definição da constante negative_format, com uma fonte vermelha e cercada por parênteses.

Se você quiser aplicar a mesma formatação a valores negativos de outros campos, faça referência à constante negative_format no parâmetro html desses campos.