Massimizzare la riutilizzabilità del codice con LookML DRY: definire una stringa una volta per utilizzarla in tutto il progetto LookML

Puoi utilizzare il parametro LookML constant 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 valori di stringa riutilizzabili in un unico posto:

Ingredienti

Prerequisiti

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

Supponiamo che tu voglia creare due esplorazioni, etichettate 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"
}

Questa costante può essere quindi utilizzata 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 con 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ù posizioni. I riferimenti a San Francisco con la costante place_name verranno sostituiti con Bay Area, quindi Looker visualizzerà Utenti della Bay Area e Ordini della Bay Area nel menu Esplora e nei titoli delle esplorazioni.

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

Supponiamo che tu voglia che i valori negativi dei dati vengano visualizzati in rosso e tra parentesi ovunque compaiano nei grafici o nelle query.

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 la formattazione a un campo.

Ad esempio, puoi creare una costante chiamata negative_format che puoi 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 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 della misura Importo totale verranno formattati come specificato nella definizione della costante negative_format, con un carattere rosso e 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.