Como maximizar a reutilização do código com o DRY LookML: como 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 como usar constantes do LookML para definir e manter valores de strings reutilizáveis em um só lugar:

Componentes

Pré-requisitos

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

Suponha que você queira criar duas Análises, com os rótulos Usuários de São Francisco e Pedidos de São Francisco na UI, mas sem 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, é possível 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 San Francisco Users e San Francisco Orders no menu "Análise" 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 em vários campos

Imagine que você quer que os valores de dados negativos apareçam 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ê poderá 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 entre 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 medida Valor total de type: sum e especificar @{negative_format} como o valor para o parâmetro html:


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

Na tabela, os valores negativos para a medida Total Amount serão formatados conforme especificado na definição da constante negative_format, com fonte vermelha e entre parênteses.

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