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 especificando 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 de dashboard do LookML, ajudando a reduzir a repetição no código do LookML.

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

Você pode usar o export subparâmetro 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

Você pode usar o subparâmetro export de constant para determinar como uma constante pode ser usada quando os arquivos que a referenciam são importados para outros projetos.

Por padrão, os arquivos importados que referenciam 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 em projetos de importação. 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 constante originalmente especificado no arquivo de manifesto do projeto importado. Se um novo valor constante não for fornecido no projeto de importação, o Looker vai mostrar 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 cujos arquivos foram 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 estará disponível apenas para os arquivos definidos no projeto de importação.

Ao importar arquivos que referenciam uma constante para outro projeto, você pode usar o override_constant subparâmetro 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 Importar arquivos de outros projetos para mais informações e um exemplo de como substituir 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 análises com o parâmetro constant

Suponha que você queira criar duas análises, rotuladas como 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, você pode 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, você pode criar visualizações com base no 02349_sfo esquema 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 Usuários 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 apareçam 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, você pode 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 precisam ter uma fonte vermelha e estar entre parênteses. Em seguida, você pode aplicar essa formatação a dimensões e medidas no conjunto de dados usando o html parâmetro.

Por exemplo, você pode criar a medida 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 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, você pode 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 seu arquivo do dashboard, você pode definir o valor de model como "@{model_name}" e definir o valor de explore como "@{explore_name}" para todos os elementos do dashboard que você quer que sejam baseados 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, você pode 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 de dashboard [Visualização]

Você também pode 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 em 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, você pode referenciar a constante no instructions parâmetro de uma agent definição:

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 constante

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


constant: city {
  value: "San Francisco"
}

Em seguida, você pode declarar uma constante state que referencia a constante city:


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

A constante state será resolvida para a string "São Francisco, Califórnia".

Como escapar da sintaxe constante

Quando você quiser escrever uma string que se assemelhe à sintaxe constante, mas não quiser que ela seja avaliada como uma constante, você poderá escapar da sintaxe constante usando o caractere de escape de barra invertida \ após o caractere @. Por exemplo:

```none

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




In this example, the [`label` parameter](/looker/docs/2614/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
}