costante

Utilizzo

costante: nome_costante {
valore: "stringa"
esportazione: nessuna | override_required | override_facoltativo
}
Gerarchia
constant
Valore predefinito
Nessuna

Accetta
  • Un sottoparametro value, che accetta una stringa che specifica il valore della costante
  • Un sottoparametro export, che specifica se la costante deve essere sostituita quando utilizzata nei progetti di importazione

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 per export. 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 %}&#60;p style=&#92;"color:red; &#92;">({{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: "@&#92;{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
}