costante

Utilizzo

constant: constant_name {
  value: "string"
  export: none | override_required | override_optional
}
Gerarchia
constant
Valore predefinito
Nessuno

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 viene utilizzata nell'importazione di progetti

Definizione

Il parametro constant definisce una costante LookML, consentendoti 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 quindi essere 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 può essere utilizzata una costante quando i file che fanno riferimento a questa 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 da utilizzare nell'importazione dei progetti. Il parametro export ha i seguenti valori possibili:

  • none: il valore predefinito per export. 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 originariamente specificato 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 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 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 saperne di più e per un esempio di override delle costanti nell'importazione dei progetti, consulta la pagina della documentazione Importazione di file da altri progetti.

Esempi

Ecco 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 per il tuo progetto:

constant: city {
  value: "San Francisco"
}

Questa costante può essere quindi utilizzata 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 mostra 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 di voler creare diverse viste basate sulle tabelle nello schema 02349_sfo. Per evitare di dover specificare più volte il valore 02349_sfo, crea una costante denominata schema nel file manifest.lkml per il 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 ;;
}

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 negativi dei dati tra parentesi e con un carattere rosso. Se imposti questa formattazione come valore per una costante LookML, puoi specificarla una sola volta utilizzando le variabili Liquid e l'HTML. Poi, puoi fare riferimento alla costante ogni volta che vuoi applicare quella 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 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 verranno formattati come specificato nella definizione della costante negative_format, con un carattere rosso e 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 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 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 grafico a colonne. Nel file della dashboard, puoi specificare i valori per i 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

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 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

Fare riferimento a 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 di aver 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".

Escape della sintassi delle costanti

Quando vuoi scrivere una stringa simile 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:

```none

dimension: id { type: string label: "@{id}" sql: ${TABLE}.id }




In this example, the [`label` parameter](/looker/docs/2616/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
}