constante

Uso

constant: constant_name {
  value: "string"
  export: none | override_required | override_optional
}
Hierarquia
constant
Valor padrão
Nenhum

Aceita
  • Um subparâmetro value, que aceita uma string que especifica o valor da constante.
  • Um subparâmetro export, que especifica se a constante precisa ser substituída quando usada na importação de projetos.

Definição

O parâmetro constant define uma constante do LookML, permitindo que você especifique um valor que pode ser reutilizado em um projeto. As constantes podem ser referenciadas em qualquer lugar do modelo em que strings são aceitas e com os parâmetros model e explore de um elemento do dashboard do LookML, o que ajuda a reduzir a repetição no código do LookML.

As constantes precisam ser definidas no arquivo de manifesto do projeto. As constantes podem ser usadas em um projeto com a sintaxe @{constant_name}.

Use o subparâmetro export de constant para especificar se os desenvolvedores precisam substituir o valor de uma constante quando os arquivos que a referenciam são importados para outro projeto.

export

Use o subparâmetro export de constant para determinar como uma constante pode ser usada quando os arquivos que fazem referência a ela são importados para outros projetos.

Por padrão, os arquivos importados que fazem referência a uma constante usam o valor especificado no arquivo de manifesto do projeto importado no projeto de importação. O parâmetro export especifica se os desenvolvedores precisam substituir o valor de uma constante fornecendo um novo valor para ela usar na importação de projetos. O parâmetro export tem os seguintes valores possíveis:

  • none: o valor padrão de export. O valor da constante não pode ser substituído no projeto de importação. O projeto de importação usa o valor constante especificado no arquivo de manifesto do projeto importado.
  • override_optional: o valor da constante pode ser substituído no projeto de importação. Se um valor não for fornecido no arquivo de manifesto do projeto de importação, o valor original do projeto importado será usado.
  • override_required: o projeto de importação precisa substituir o valor da constante especificado originalmente no arquivo de manifesto do projeto importado. Se um novo valor constante não for fornecido no projeto de importação, o Looker vai exibir um erro.

As constantes estão disponíveis apenas para arquivos do projeto em que foram definidas originalmente. Portanto, as constantes definidas em um projeto com arquivos importados só podem ser usadas pelos arquivos importados, e não pelos arquivos definidos no projeto de importação.

Se você quiser usar uma constante nos arquivos do projeto de importação, defina uma nova constante no arquivo de manifesto do projeto de importação. Uma constante definida dessa forma só vai estar disponível para os arquivos definidos no projeto de importação.

Ao importar arquivos que fazem referência a uma constante em outro projeto, use o subparâmetro override_constant de local_dependency ou remote_dependency no arquivo de manifesto do projeto de importação para fornecer um novo valor para uma constante que tenha export definido como override_optional ou override_required.

Consulte a página de documentação Como importar arquivos de outros projetos para mais informações e um exemplo de substituição de constantes em projetos de importação.

Exemplos

Confira alguns exemplos de como usar o parâmetro constant para definir valores que podem ser usados em um projeto.

Como rotular as análises com o parâmetro constant

Suponha que você queira criar duas Análises, chamadas Usuários de São Francisco e Pedidos de São Francisco na UI. Para fazer isso, defina uma constante city com o valor "San Francisco" no arquivo manifest.lkml do seu projeto:

constant: city {
  value: "San Francisco"
}

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


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

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

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

Como usar o parâmetro sql_table_name com constantes

Suponha que você queira criar várias visualizações com base em tabelas no esquema 02349_sfo. Para evitar ter que especificar o valor 02349_sfo várias vezes, crie uma constante chamada schema no arquivo manifest.lkml do seu projeto, da seguinte maneira:


constant: schema {
  value: "02349_sfo"
}

Em seguida, é possível criar visualizações com base no esquema 02349_sfo especificando @{schema}.view_name como o valor do parâmetro sql_table_name:


view: users {
  sql_table_name: @{schema}.users ;;
}

Isso cria uma visualização chamada Users com base na tabela users do esquema 02349_sfo.

Como usar variáveis líquidas e HTML com constantes

Imagine que você quer que os valores de dados negativos sejam exibidos entre parênteses e em uma fonte vermelha. 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 líquidas e HTML. Em seguida, você pode referenciar a constante sempre que quiser aplicar essa formatação a um campo.

Por exemplo, é possível criar uma constante 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 %}"
}

Isso cria uma constante negative_format que especifica que os valores de dados negativos devem ter uma fonte vermelha e estar entre parênteses. Em seguida, aplique essa formatação a dimensões e medições no conjunto de dados usando o parâmetro html.

Por exemplo, é possível 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 Valor total serão formatados conforme especificado na definição da constante negative_format, com uma fonte vermelha e entre parênteses.

Como usar constantes em dashboards do LookML

Ao definir um elemento de dashboard para um dashboard do LookML, é possível usar constantes do LookML para definir o modelo e a Análise em que um elemento se baseia.

Por exemplo, suponha que você tenha definido as constantes model_name e explore_name no arquivo manifest.lkml do seu projeto:


constant: model_name {
  value: "thelook"
}

constant: explore_name {
  value: "orders"
}

No arquivo do dashboard, defina o valor de model como "@{model_name}" e o valor de explore como "@{explore_name}" para todos os elementos do dashboard que você quer basear no modelo thelook e na Análise orders.

Por exemplo, suponha que você esteja editando o LookML de um elemento de gráfico de colunas. No arquivo do dashboard, é possível especificar os valores dos parâmetros model e explore da seguinte maneira:


- dashboard: dashboard_name
  title: "dashboard title"
  layout: newspaper
  elements:
  - title: Element Title
    name: element_name
    model: "@{model_name}"
    explore: "@{explore_name}"
    type: looker_column

Como usar constantes nas instruções do agente do painel

Também é possível usar constantes do LookML no parâmetro instructions de um agente de dashboard do LookML para compartilhar regras ou diretrizes de negócios padrão entre vários agentes de dashboard.

Por exemplo, defina uma constante no arquivo manifest.lkml:

constant: FISCAL_YEAR_RULE {
  value: "Always filter all requests by the current fiscal year unless specified otherwise."
}

Em seguida, é possível referenciar a constante no parâmetro instructions de uma definição de agent:

agent: sales_dashboard_agent {
  instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
  is_dashboard_agent: yes
}

Informações importantes

Como se referir a constantes em uma definição de constante

Ao definir uma constante, é possível referenciar outras constantes definidas no arquivo de manifesto do projeto. Suponha que você já tenha declarado uma constante city:


constant: city {
  value: "San Francisco"
}

Em seguida, declare uma constante state que faça referência à constante city:


constant: city_state {
  value: "@{city}, California"
}

A constante state será resolvida como a string "San Francisco, California".

Sintaxe de escape de constantes

Quando você quiser escrever uma string que se assemelhe à sintaxe de constante, mas não quiser que ela seja avaliada como uma constante, use o caractere de escape de barra invertida \ após o caractere @. Exemplo:

```none

dimension: id { type: string label: "@{id}" sql: ${TABLE}.id }




In this example, the [`label` parameter](/looker/docs/2620/reference/param-explore-label) displays the string **@{id}** as the label for the `id` dimension, rather than evaluating the `id` constant and outputting its value.

Constant references won't be evaluated if the brackets are not closed, in which case it is not necessary to escape constant syntax. Thus, `@{id` in the following example wouldn't be evaluated as a constant.


```none

dimension: id {
  type: string
  label: "@{id"
  sql: ${TABLE}.id
}