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, che consente di specificare un valore che può essere riutilizzato in un progetto. È possibile fare riferimento alle costanti 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 essere utilizzate in un progetto utilizzando la sintassi @{constant_name}.
Puoi utilizzare il export sottoparamentro di constant per specificare se gli sviluppatori devono sostituire il valore di una costante quando i file che fanno riferimento a questa vengono importati in un altro progetto.
export
Puoi utilizzare il sottoparamentro export di constant per determinare come è possibile utilizzare una costante quando i file che fanno riferimento a questa 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 sostituire il valore di una costante fornendo un nuovo valore da utilizzare nei progetti di importazione. 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 costante specificato nel file manifest del progetto importato.override_optional: il valore della costante può essere sostituito facoltativamente 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 sostituire il valore costante specificato originariamente nel file manifest del progetto importato. Se non viene fornito un nuovo valore costante nel progetto di importazione, 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 di cui hai importato i file 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 sottoparamentro 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 ulteriori informazioni e un esempio di sostituzione delle costanti nei progetti di importazione, consulta la pagina della documentazione Importare file da altri progetti.
Esempi
Di seguito sono riportati alcuni esempi di come utilizzare il parametro constant per definire valori che possono essere utilizzati in un progetto.
Etichettare le esplorazioni con il parametro constant
Supponiamo che tu voglia creare due esplorazioni, etichettate Utenti di San Francisco e Ordini di San Francisco 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 Utenti di San Francisco e Ordini di San Francisco nel menu Esplora e nei titoli delle esplorazioni, anziché le etichette predefinite Utenti e Ordini.

Utilizzare il parametro sql_table_name con le costanti
Supponiamo che tu voglia creare diverse viste basate sulle tabelle dello schema 02349_sfo. Per evitare di dover specificare più volte il valore 02349_sfo, crea una costante denominata schema nel file manifest.lkml del tuo 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 ;;
}
Viene creata una vista denominata Utenti basata sulla tabella users dello schema 02349_sfo.
Utilizzare le variabili Liquid e l'HTML con le costanti
Supponiamo che tu voglia che i valori dei dati negativi vengano visualizzati 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. Poi, puoi fare riferimento alla costante ogni volta che vuoi applicare questa 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 %}"
}
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 a dimensioni e misure nel tuo set di dati utilizzando il html parametro.
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 racchiusi tra parentesi.

Utilizzare le 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 tuo file della dashboard, puoi impostare il valore di model su "@{model_name}" e impostare 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
Utilizzare le costanti nelle istruzioni dell'agente della dashboard [anteprima]
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 instructions parametro di una agent definizione:
agent: sales_dashboard_agent {
instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
is_dashboard_agent: yes
}
Cose da sapere
Fare 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 tuo 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".
Eseguire l'escape della sintassi costante
Quando vuoi scrivere una stringa che assomiglia alla sintassi costante, ma non vuoi che venga valutata come costante, puoi eseguire l'escape della sintassi costante 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/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
}