Uso
valor: "string"
exportar: nenhum | replace_required | replace_optional
}
Hierarquia
constant |
Valor padrão
NenhumaAceita
|
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 deexport
. 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 %}<p style=\"color:red; \">({{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: "@\{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
}