Utilizzo
valore: "stringa"
esportazione: nessuna | override_required | override_facoltativo
}
Gerarchia
constant |
Valore predefinito
NessunaAccetta
|
Definizione
Il parametro constant
definisce una costante LookML, consentendo di specificare un valore che può essere riutilizzato in un progetto. È possibile fare riferimento alle costanti in qualsiasi punto del modello in cui le stringhe vengono accettate e con i parametri model
e explore
di un elemento della dashboard LookML, riducendo così la ripetizione nel codice LookML.
Le costanti devono essere definite nel file manifest del progetto. Le costanti possono essere quindi utilizzate in un progetto utilizzando la sintassi @{constant_name}
.
Puoi utilizzare il sottoparametro export
di constant
per specificare se gli sviluppatori devono sostituire il 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 una costante può essere utilizzata 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
consente di specificare se gli sviluppatori devono sostituire il valore di una costante, fornendo un nuovo valore da utilizzare per l'importazione dei progetti. Il parametro export
ha i seguenti valori possibili:
none
: il valore predefinito perexport
. Il valore della costante non può essere sovrascritto 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 sostituire il valore della costante specificato in origine nel file manifest del progetto importato. Se non viene fornito un nuovo valore costante nel progetto di importazione, Looker mostrerà un errore.
Le costanti sono disponibili solo per i file del progetto in cui sono state definite in origine. 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 definirne una nuova 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 ulteriori informazioni, consulta la pagina della documentazione Importazione di file da altri progetti, oltre a un esempio di sostituzione delle costanti nell'importazione dei progetti.
Esempi
Di seguito sono riportati alcuni esempi di come puoi utilizzare il parametro constant
per definire i valori che possono essere utilizzati in un progetto.
Etichettare le esplorazioni con il parametro constant
Supponiamo di voler creare due esplorazioni, etichettate come Utenti San Francisco e Ordini San Francisco nell'interfaccia utente. A questo scopo, puoi definire una costante city
con valore "San Francisco"
nel file manifest.lkml
del progetto:
constant: city {
value: "San Francisco"
}
È possibile fare riferimento a questa costante in qualsiasi parte del progetto in cui una stringa viene accettata, 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 mostra San Francisco Users e San Francisco Orders nel menu Explore (Esplora) e nei titoli di Explore (Esplora), anziché le etichette predefinite di Users (Utenti) e Ordini:
Utilizzo del parametro sql_table_name
con costanti
Supponiamo di voler creare più viste basate su tabelle nello schema 02349_sfo
. Per evitare di specificare più volte il valore 02349_sfo
, crea una costante denominata schema
nel file manifest.lkml
del progetto nel seguente modo:
constant: schema {
value: "02349_sfo"
}
Puoi quindi creare viste in base allo 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
.
Utilizzo di variabili di Liquid e HTML con costanti
Supponiamo che tu voglia visualizzare i valori dei dati negativi tra parentesi e in un carattere rosso. Impostando questa formattazione come il valore di una costante LookML, puoi specificare la formattazione una sola volta utilizzando Variabili Liquid e HTML. Successivamente, 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: "{% dynamic if value < 0 %}<p style=\"color:red; \">({{rendered_value}})</p>{% dynamic else %} {{rendered_value}} {% dynamic endif %}"
}
In questo modo viene creata una negative_format
costante che specifica che i valori dei dati negativi devono avere un carattere rosso e devono essere racchiusi tra parentesi. Puoi poi applicare questa formattazione a dimensioni e misure nel tuo set di dati utilizzando il parametro html
.
Ad esempio, puoi creare una 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 sono formattati come specificato nella definizione costante di negative_format
, con un carattere rosso e racchiuso tra parentesi:
Utilizzo delle costanti nelle dashboard di LookML
Quando definisci un elemento della dashboard per una dashboard di LookML, puoi utilizzare le costanti LookML per definire il modello e l'esplorazione su cui si basa un elemento.
Supponi, ad esempio, di aver definito le costanti model_name
e explore_name
nel file manifest.lkml
per il tuo progetto:
constant: model_name {
value: "thelook"
}
constant: explore_name {
value: "orders"
}
Nel file della dashboard, puoi impostare il valore model
su "@{model_name}"
e quello su explore
su qualsiasi elemento della dashboard su cui basare il modello thelook
ed Esplora orders
.
Ad esempio, supponiamo che tu stia modificando il codice LookML di un elemento del grafico a colonne. Nel file della dashboard, puoi specificare i valori dei parametri model
e explore
nel seguente modo:
- dashboard: dashboard_name
title: "dashboard title"
layout: newspaper
elements:
- title: Element Title
name: element_name
model: "@{model_name}"
explore: "@{explore_name}"
type: looker_column
Aspetti da tenere presenti
Fare riferimento a costanti all'interno di una definizione 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
nell'esempio precedente:
constant: city_state {
value: "@{city}, California"
}
La costante state
dichiarata sopra corrisponderà alla stringa "San Francisco, California".
Eseguire l'escape della sintassi costante
Se vuoi scrivere una stringa che assomiglia a una sintassi costante, ma non vuoi che venga valutata come costante, puoi utilizzare la sequenza di escape utilizzando la barra rovesciata come carattere di escape \` after the
@`. Ad esempio:
dimension: id {
type: string
label: "@\{id}"
sql: ${TABLE}.id
}
Nell'esempio precedente, il parametro label
mostra la stringa @{id} come etichetta per la dimensione id
, anziché valutare la costante id
e erogarne il valore.
I riferimenti costanti non saranno valutati se le parentesi non sono chiuse, nel qual caso non è necessario uscire dalla sintassi costante. Di conseguenza, @{id
nell'esempio seguente non verrà valutato come costante.
dimension: id {
type: string
label: "@{id"
sql: ${TABLE}.id
}