Maximizar a reutilização de código com o DRY LookML: como definir uma string uma vez para ser usada em todo o projeto 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:

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 não queira digitar manualmente o texto para 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 seja 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 projeto:

constant: place_name {
  value: "Bay Area"
}

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

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

Imagine que você quer que os valores de dados negativos sejam exibidos em vermelho e entre parênteses sempre que aparecerem nos relatórios.

Ao definir essa formatação como o valor de uma constante do LookML, é possível especificar a formatação apenas uma vez usando variáveis líquidas e HTML. Em seguida, você pode referenciar a constante sempre que quiser aplicar essa formatação a um campo.

Por exemplo, você pode criar uma constante chamada negative_format que pode ser usada para aplicar essa formatação a um campo:


constant: negative_format {
  value: "{% dynamic if value < 0 %}
            <p style='color:red;'>({{rendered_value}})</p>
          {% dynamic else %}
            {{rendered_value}}
          {% dynamic 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. Em seguida, você pode aplicar essa formatação às dimensões e medidas no seu conjunto de dados usando o parâmetro html.

Por exemplo, você pode criar uma medida Total Amount 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 sua tabela, os valores negativos da medida Valor total serão formatados conforme especificado na definição da constante negative_format, com uma fonte vermelha e entre parênteses.

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