constante

Uso

constante: nome_constante {
valor: "string"
exportar: nenhum | replace_required | replace_optional
}
Hierarquia
constant
Valor padrão
Nenhuma

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 LookML, permitindo que você especifique um valor que possa ser reutilizado em um projeto. As constantes podem ser referenciadas em qualquer lugar no modelo em que as strings sejam aceitas e com os parâmetros model e explore de um elemento do painel LookML, o que ajuda a reduzir a repetição no código 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}.

Você pode usar o subparâmetro export de constant para especificar se os desenvolvedores precisam modificar o valor de uma constante quando os arquivos que fazem referência a ela 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 arquivos que fazem referência a essa constante 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 importado. O parâmetro export especifica se os desenvolvedores precisam modificar o valor de uma constante fornecendo um novo valor para essa constante usar ao importar 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 em 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 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 exibirá um erro.

Constantes estão disponíveis apenas para arquivos do projeto em que elas foram originalmente definidas. Portanto, as constantes definidas em um projeto com arquivos importados podem ser usadas apenas 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 maneira estará disponível somente para os arquivos definidos no projeto de importação.

Ao importar arquivos que fazem referência a uma constante para outro projeto, é possível usar 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 a uma constante com export definido como override_optional ou override_required.

Consulte a página de documentação Importar arquivos de outros projetos para ver mais informações e um exemplo de modificação de constantes na importação de projetos.

Examples

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

Como rotular as explorações com o parâmetro constant

Imagine que você queira criar duas explorações, rotuladas como Usuários de São Francisco e Pedidos de São Francisco na IU. Para isso, defina um city constante com o valor "San Francisco" no arquivo manifest.lkml do projeto:

constant: city {
  value: "San Francisco"
}

Essa constante pode ser referenciada em qualquer parte do projeto em que uma string seja aceita, usando a sintaxe @{city}. Neste exemplo, você pode definir as explorações 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 exibe Usuários de São Francisco e Pedidos de São Francisco no menu Explorar e nos títulos dos Explorars, em vez dos rótulos padrão Usuários e Pedidos:

Como usar o parâmetro sql_table_name com constantes

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


constant: schema {
  value: "02349_sfo"
}

É possível criar visualizações com base no esquema 02349_sfo, especificando @{schema}.view_name como o valor para o 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ê queira que valores de dados negativos sejam exibidos entre parênteses e em uma fonte vermelha. Ao definir essa formatação como o valor para uma constante LookML, você pode especificar a formatação apenas uma vez usando variáveis líquidas e HTML. Em seguida, você pode fazer referência à constante sempre que quiser aplicar essa formatação a um campo.

Por exemplo, é possível criar uma negative_format constante para aplicar essa formatação a um campo:


constant: negative_format {
  value: "{% dynamic if value < 0 %}&#60;p style=&#92;"color:red; &#92;">({{rendered_value}})</p>{% dynamic else %} {{rendered_value}} {% dynamic endif %}"
}

Isso cria um negative_format constante que especifica que os valores de dados negativos precisam ter uma fonte vermelha e estar entre parênteses. Depois, é possível aplicar essa formatação às dimensões e medidas no conjunto de dados usando o parâmetro html.

Por exemplo, é possível criar a 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 constante negative_format, com uma fonte vermelha e cercado por parênteses:

Como usar constantes em painéis do LookML

Ao definir um elemento de painel para um painel LookML, você pode usar constantes LookML para definir o modelo e explorar 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 painel, defina o valor de model como "@{model_name}" e o valor de explore como "@{explore_name}" para qualquer elemento do painel que você queira que seja baseado no modelo thelook e na seção Explorar orders.

Por exemplo, suponha que você esteja editando o LookML para um elemento de gráfico de colunas. No arquivo do painel, 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

Informações úteis

Fazer referência a constantes dentro de 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 city constante:


constant: city {
  value: "San Francisco"
}

Em seguida, você pode declarar uma constante state que faz referência à constante city no exemplo acima:


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

A constante state declarada acima será resolvida na string "São Francisco, Califórnia".

Como fazer o escape da sintaxe constante

Quando você quiser escrever uma string semelhante a uma sintaxe constante, mas não quiser que essa string seja avaliada como uma constante, faça o escape dela usando o caractere de escape de barra invertida \` after the@`. Exemplo:


dimension: id {
  type: string
  label: "@&#92;{id}"
  sql: ${TABLE}.id
}

No exemplo acima, o parâmetro label exibe a string @{id} como o rótulo para a dimensão id, em vez de avaliar a constante id e gerar o valor dela.

As referências constantes não serão avaliadas se os colchetes não forem fechados. Nesse caso, não é necessário escapar a sintaxe constante. Assim, @{id no exemplo abaixo não seria avaliado como uma constante.


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