Massimizzare la riutilizzabilità del codice con LookML DRY: definire una stringa una volta per utilizzarla in 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 LookML possono essere utili quando devi definire una stringa specifica, ad esempio un numero, un nome o la formattazione HTML per i valori dei campi, e riutilizzare quel valore in tutto il progetto.

Questa pagina include i seguenti esempi di utilizzo delle costanti LookML per definire e gestire in un unico posto i valori delle stringhe riutilizzabili:

Ingredienti

Prerequisiti

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

Supponiamo che tu voglia creare due esplorazioni, etichettate come Utenti di San Francisco e Ordini di San Francisco nell'interfaccia utente, ma non vuoi digitare manualmente il testo per 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 Bay Area e Ordini Bay Area nel menu Esplora e nei titoli delle esplorazioni.

Esempio: applicazione della stessa formattazione ai valori negativi per più campi

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

Se imposti questa formattazione come valore di 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 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 alle dimensioni e alle misure del 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.