Utilizzo
constant: constant_name { value: "string" export: none | override_required | override_optional }
|
Gerarchia
constant |
Valore predefinito
Nessuno
Accetta
|
Definizione
Il parametro constant definisce una costante LookML, consentendoti di specificare un valore che può essere riutilizzato in un progetto. Le costanti possono essere richiamate in qualsiasi punto del modello in cui sono accettate le stringhe e con i parametri model e explore di un elemento della dashboard LookML, contribuendo così a ridurre la ripetizione nel codice LookML.
Le costanti devono essere definite nel file manifest del progetto. Le costanti possono quindi essere utilizzate in un progetto utilizzando la sintassi @{constant_name}.
Puoi utilizzare il sottoparametro export di constant per specificare se gli sviluppatori devono eseguire l'override del valore di una costante quando i file che vi fanno riferimento vengono importati in un altro progetto.
export
Puoi utilizzare il sottoparametro export di constant per determinare come utilizzare una costante quando i file che fanno riferimento a quella costante vengono importati in altri progetti.
Per impostazione predefinita, i file importati che fanno riferimento a una costante utilizzano il valore specificato nel file manifest del progetto importato nel progetto di importazione. Il parametro export specifica se gli sviluppatori devono eseguire l'override del valore di una costante fornendo un nuovo valore per la costante da utilizzare nell'importazione dei progetti. Il parametro export ha i seguenti valori possibili:
none: il valore predefinito perexport. Il valore della costante non può essere sostituito nel progetto di importazione. Il progetto di importazione utilizza il valore della costante specificato nel file manifest del progetto importato.override_optional: il valore della costante può essere facoltativamente sostituito nel progetto di importazione. Se non viene fornito un valore nel file manifest del progetto di importazione, viene utilizzato il valore originale del progetto importato.override_required: il progetto di importazione deve eseguire l'override del valore della costante specificato originariamente nel file manifest del progetto importato. Se nel progetto di importazione non viene fornito un nuovo valore costante, Looker visualizzerà un errore.
Le costanti sono disponibili solo per i file del progetto in cui sono state definite originariamente. Pertanto, le costanti definite in un progetto i cui file sono stati importati possono essere utilizzate solo dai file importati e non dai file definiti nel progetto di importazione.
Se vuoi utilizzare una costante nei file del progetto di importazione, devi definire una nuova costante nel file manifest del progetto di importazione. Una costante definita in questo modo sarà disponibile solo per i file definiti nel progetto di importazione.
Quando importi file che fanno riferimento a una costante in un altro progetto, puoi utilizzare il sottoparametro override_constant di local_dependency o remote_dependency nel file manifest del progetto di importazione per fornire un nuovo valore per una costante con export impostato su override_optional o override_required.
Per saperne di più e per un esempio di override delle costanti nei progetti di importazione, consulta la pagina della documentazione Importazione di file da altri progetti.
Esempi
Ecco alcuni esempi di come puoi utilizzare il parametro constant per definire i valori che possono essere utilizzati in un progetto.
Etichettatura delle esplorazioni con il parametro constant
Supponiamo che tu voglia creare due esplorazioni, denominate San Francisco Users e San Francisco Orders nell'interfaccia utente. Per farlo, puoi definire una costante city con il valore "San Francisco" nel file manifest.lkml del tuo progetto:
constant: city {
value: "San Francisco"
}
È possibile fare riferimento a questa costante in qualsiasi parte del progetto in cui è accettata una stringa, utilizzando la sintassi @{city}. In questo esempio, puoi definire le esplorazioni users e orders, specificando "@{city} Users" e "@{city} Orders" come valori per il parametro label, come nell'esempio seguente:
explore: users {
label: "@{city} Users"
}
explore: orders {
label: "@{city} Orders"
}
In questo esempio, Looker visualizza San Francisco Users e San Francisco Orders nel menu Esplora e nei titoli delle esplorazioni, anziché le etichette predefinite Users e Orders.

Utilizzo del parametro sql_table_name con costanti
Supponiamo che tu voglia creare diverse viste basate sulle tabelle nello schema 02349_sfo. Per evitare di dover specificare il valore 02349_sfo più volte, crea una costante denominata schema nel file manifest.lkml del progetto, come segue:
constant: schema {
value: "02349_sfo"
}
Puoi quindi creare viste basate sullo schema 02349_sfo specificando @{schema}.view_name come valore per il parametro sql_table_name:
view: users {
sql_table_name: @{schema}.users ;;
}
In questo modo viene creata una vista denominata Users basata sulla tabella users dello schema 02349_sfo.
Utilizzo di variabili Liquid e HTML con costanti
Immagina di voler visualizzare i valori dei dati negativi tra parentesi e con un carattere rosso. Impostando questa formattazione come valore per una costante LookML, puoi specificare la formattazione una sola volta utilizzando le variabili Liquid e l'HTML. In seguito, puoi fare riferimento alla costante ogni volta che vuoi applicare la formattazione a un campo.
Ad esempio, puoi creare una costante negative_format con cui applicare questa formattazione a un campo:
constant: negative_format {
value: "{% if value < 0 %}<p style='color:red;'>({{rendered_value}})</p>{% else %} {{rendered_value}} {% endif %}"
}
In questo modo viene creata una costante negative_format che specifica che i valori dei dati negativi devono avere un carattere rosso ed essere racchiusi tra parentesi. Puoi quindi applicare questa formattazione alle dimensioni e alle misure del tuo set di dati utilizzando il parametro html.
Ad esempio, puoi creare la misura Importo totale di type: sum e specificare @{negative_format} come valore per il parametro html:
measure: total_amount {
type: sum
value_format_name: usd
sql: ${amount} ;;
html: @{negative_format} ;;
}
Nella tabella, i valori negativi per la misura Importo totale verranno formattati come specificato nella definizione della costante negative_format, con un carattere rosso e tra parentesi.

Utilizzo delle costanti nelle dashboard LookML
Quando definisci un elemento della dashboard per una dashboard LookML, puoi utilizzare le costanti LookML per definire il modello e l'esplorazione su cui si basa un elemento.
Ad esempio, supponiamo che tu abbia definito le costanti model_name e explore_name nel file manifest.lkml del tuo progetto:
constant: model_name {
value: "thelook"
}
constant: explore_name {
value: "orders"
}
Nel file della dashboard, puoi impostare il valore di model su "@{model_name}" e il valore di explore su "@{explore_name}" per tutti gli elementi della dashboard che vuoi basare sul modello thelook e sull'esplorazione orders.
Ad esempio, supponiamo che tu stia modificando il codice LookML per un elemento del grafico a colonne. Nel file della dashboard, puoi specificare i valori per i parametri model e explore come segue:
- dashboard: dashboard_name
title: "dashboard title"
layout: newspaper
elements:
- title: Element Title
name: element_name
model: "@{model_name}"
explore: "@{explore_name}"
type: looker_column
Utilizzo di costanti nelle istruzioni dell'agente della dashboard
Puoi anche utilizzare le costanti LookML all'interno del parametro instructions di un agente della dashboard LookML per condividere regole o linee guida aziendali standard tra più agenti della dashboard.
Ad esempio, definisci una costante nel file manifest.lkml:
constant: FISCAL_YEAR_RULE {
value: "Always filter all requests by the current fiscal year unless specified otherwise."
}
Puoi quindi fare riferimento alla costante nel parametro instructions di una definizione agent:
agent: sales_dashboard_agent {
instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
is_dashboard_agent: yes
}
Cose da sapere
Riferimento alle costanti all'interno di una definizione di costante
Quando definisci una costante, puoi fare riferimento ad altre costanti definite nel file manifest del progetto. Supponiamo che tu abbia già dichiarato una costante city:
constant: city {
value: "San Francisco"
}
Puoi quindi dichiarare una costante state che fa riferimento alla costante city:
constant: city_state {
value: "@{city}, California"
}
La costante state verrà risolta nella stringa "San Francisco, California".
Sintassi di escape delle costanti
Se vuoi scrivere una stringa simile alla sintassi delle costanti, ma non vuoi che venga valutata come una costante, puoi eseguire l'escape della sintassi delle costanti utilizzando il carattere di escape barra rovesciata \ dopo il carattere @. Ad esempio:
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
}