Massimizzazione della riusabilità del codice con DRY LookML: definizione di una stringa da utilizzare una volta per tutto il progetto LookML

Puoi utilizzare il parametro constant di LookML all'interno del file manifest del progetto per definire una stringa che può essere utilizzata in tutto il progetto. Le costanti di LookML possono essere utili quando devi definire una stringa specifica, ad esempio un numero, un nome o la formattazione HTML per i valori di campo, e riutilizzare quel valore in tutto il progetto.

Questa pagina include i seguenti esempi di utilizzo delle costanti LookML per definire e mantenere i valori delle stringhe riutilizzabili in un'unica posizione:

Ingredienti

Prerequisiti

Esempio: utilizzo della stessa stringa nelle etichette di più esplorazioni

Supponiamo di voler creare due esplorazioni, denominate Utenti a San Francisco e Ordini di San Francisco nella UI, ma di non digitare manualmente il testo di ogni etichetta.

Per farlo, puoi definire una costante place_name con il valore "San Francisco" nel file manifest del progetto per il tuo progetto:

constant: place_name {
  value: "San Francisco"
}

A questa costante è possibile fare riferimento in qualsiasi parte del progetto in cui è accettata una stringa, utilizzando la sintassi @{place_name}. In questo esempio, puoi definire le esplorazioni users e orders, specificando "@{place_name} Users" e "@{place_name} Orders" come valori per il parametro label, come nell'esempio seguente:


explore: users {
  label: "@{place_name} Users"
}

explore: orders {
  label: "@{place_name} 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.

Supponiamo che tu voglia aggiornare tutti i riferimenti a San Francisco in Bay Area.

Anziché dover aggiornare manualmente ogni riferimento, devi apportare un solo aggiornamento alla costante place_name nel file manifest del progetto:

constant: place_name {
  value: "Bay Area"
}

Poiché hai definito la costante place_name, non devi modificare manualmente San Francisco in Bay Area in più punti. I riferimenti a San Francisco con la costante place_name verranno sostituiti con Bay Area, quindi Looker mostrerà Utenti dell'area della baia e Ordini dell'area della baia nel menu Esplora e nei titoli delle esplorazioni.

Esempio: applicare la stessa formattazione a valori negativi di più campi

Immagina di voler visualizzare i valori dei dati negativi in rosso e tra parentesi ogni volta che appaiono in grafici o query.

Impostando questa formattazione come valore per una costante LookML, puoi specificare la formattazione una sola volta utilizzando variabili liquide e HTML. Poi, puoi fare riferimento alla costante ogni volta che vuoi applicare la formattazione a un campo.

Ad esempio, puoi creare una costante denominata negative_format da utilizzare per applicare questa formattazione a un campo:


constant: negative_format {
  value: "{% if value < 0 %}
            <p style='color:red;'>({{rendered_value}})</p>
          {% else %}
            {{rendered_value}}
          {% endif %}"
}

Questo codice crea la 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 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, in un carattere rosso e racchiusi tra parentesi.

Se vuoi applicare la stessa formattazione ai valori negativi per altri campi, puoi fare riferimento alla costante negative_format nel parametro html per questi campi.