É 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:
- Usar a mesma string nos rótulos de várias análises detalhadas: essa técnica ajuda a economizar tempo se você reutilizar strings comuns, como palavras, frases ou nomes de locais nas definições.
- Aplicar a mesma formatação a valores negativos em vários campos: esta técnica ajuda a economizar tempo definindo especificações de formatação condicional para usar em vários campos.
Componentes
- O arquivo de manifesto do projeto
- O parâmetro
constant
do LookML - Sintaxe
@{constant_name}
para referenciar constantes atuais - Parâmetro
html
do LookML - Variáveis líquidas
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.