Creare espressioni di Looker

Le espressioni Looker sono formule che utilizzi per eseguire calcoli personalizzati e applicare logiche avanzate in Looker. Utilizza le espressioni di Looker per creare calcoli tabulari dinamici, campi personalizzati, filtri personalizzati e test dei dati. Questa funzionalità ti aiuta a estrarre informazioni specifiche e personalizzare l'analisi dei dati. Questa guida descrive come costruire e utilizzare le espressioni di Looker in modo efficace.

Scorciatoie per le funzioni comuni

Prima di creare espressioni di Looker, controlla se la tua attività può essere essere completata utilizzando scorciatoie integrate:

Espressioni di Looker

Le espressioni Looker vengono utilizzate per eseguire calcoli per:

Un'espressione Looker è creata da una combinazione di questi elementi:

  • NULL: il valore NULL indica che non sono presenti dati e può essere utile quando vuoi verificare che qualcosa sia vuoto o non esista.

  • Una costante: una costante è un valore immutabile che fornisci. Un numero come 7 o una stringa come Completed sono costanti.

  • Un campo Looker: un riferimento a un campo Looker, che include dimensioni, misure e calcoli tabulari.

  • Un operatore di Looker: per un elenco degli operatori disponibili, vedi Funzioni e operatori di Looker. Gli operatori supportati includono le seguenti categorie:

    • Operatori matematici (ad esempio +, -, * e /)
    • Operatori di confronto (ad esempio =, > e <=)
    • Operatori logici (ad esempio AND, OR e NOT)
  • Una funzione di Looker: simili alle funzioni dei fogli di lavoro, le funzioni consentono di trasformare i dati o fare riferimento ai dati in modo complesso. Per un elenco delle funzioni disponibili, consulta Funzioni e operatori di Looker.

Creare espressioni di Looker

Calcoli tabulari, campi personalizzati e filtri personalizzati utilizzano l'editor espressioni di Looker. Mentre digiti l'espressione, Looker ti suggerisce funzioni, operatori e nomi di campi che potresti voler utilizzare.

Visualizza tutti i suggerimenti

Accedi all'editor di espressioni Looker in un'esplorazione creando un calcolo tabulare, un campo personalizzato o un filtro personalizzato.

Digita uno spazio per visualizzare un elenco di tutti i campi, le funzioni e gli operatori tra cui puoi scegliere. Se un campo è attualmente selezionato in Esplora, Looker mostra un punto nero a sinistra del campo e lo visualizza in cima all'elenco.

Inizia a digitare nell'editor di espressioni Looker per ridurre l'elenco agli elementi che ti interessano.

L'editor dei campi personalizzati mostra i campi di Esplora attualmente in uso, se sono compatibili con la funzione del campo personalizzato.

Aggiungi un campo

Per includere un campo Looker nell'espressione, inizia a digitare il nome del campo. Man mano che digiti, l'editor restringe la ricerca a un elenco di campi e funzioni che contengono ciò che hai digitato. Puoi digitare il nome del campo così come appare nella pagina Esplora oppure puoi utilizzare il nome LookML, se lo conosci.

Quando selezioni un campo dall'elenco, Looker lo aggiunge all'espressione utilizzando il nome LookML nel formato ${view_name.field_name}. In questo modo tutti i campi hanno nomi univoci nell'espressione.

Aggiungere i totali

Se stai creando un'espressione basata su un'esplorazione in cui hai visualizzato i totali, puoi includere anche i totali di colonne e righe nell'espressione. I totali delle colonne vengono visualizzati nell'editor con la parola Totale davanti all'iterazione LookML del nome del campo. Ad esempio, per un campo denominato Conteggio, Looker assegna al totale della colonna per quel campo il nome Count - Total.

Il nome LookML per i totali è nel formato ${view_name.field_name:total}, dove :total viene aggiunto alla fine del nome del campo.

Per i totali riga, le parole Totali riga vengono visualizzate davanti al nome del campo nell'editor. Nel nome LookML del campo, :row_total viene aggiunto alla fine del nome del campo, ad esempio ${view_name.field_name:row_total}.

Aggiungere operatori

Se necessario, puoi aggiungere alla tua espressione operatori logici come AND, OR e NOT. Normalmente gli operatori AND vengono valutati prima degli operatori OR, ma puoi ignorare questo comportamento utilizzando le parentesi. Puoi anche utilizzare operatori di confronto (come >, = e <=) e operatori matematici (come + e *).

Quando tieni il puntatore del mouse su un operatore, le note per l'uso corretto vengono visualizzate nel riquadro delle informazioni.

Aggiungere funzioni

Per includere una funzione di Looker nell'espressione, inizia a digitare il nome della funzione. Man mano che digiti, l'editor restringe la ricerca a un elenco di campi e funzioni che contengono ciò che hai digitato.

Le funzioni possono essere costituite da argomenti (o variabili) che richiedono un determinato tipo, ad esempio un campo, un numero o sì/no. Quando passi il puntatore sopra una funzione, controlla le note nel riquadro delle informazioni per capire quali argomenti devi fornire e di che tipo devono essere.

Per un elenco completo delle funzioni, consulta Funzioni e operatori di Looker.

Utilizzare i suggerimenti per gli errori e il riquadro delle informazioni

Looker mostra un riquadro delle informazioni accanto all'editor delle espressioni Looker. Questo riquadro fornisce documentazione e suggerimenti, soprattutto se l'espressione contiene un errore.

Il riquadro delle informazioni fornisce le seguenti informazioni:

  • Evidenziazione degli errori: Looker sottolinea in rosso le parti dell'espressione che non sono ancora corrette.

  • Suggerimenti e dettagli degli errori: Looker fornisce suggerimenti su cosa aggiungere successivamente nell'espressione. Se si verifica un errore, viene spiegato il motivo per cui si verifica.

  • Documentazione: Looker mostra la documentazione relativa alla funzione o all'operatore con cui stai lavorando. Ad esempio, mentre digiti il primo argomento di una funzione if, Looker indica che il primo argomento deve essere valutato come yes o no. Fai clic sul nome della funzione per visualizzarne la documentazione.

Includi commenti

Puoi includere commenti nelle espressioni di Looker iniziando la riga di commento con # nell'editor di espressioni.

Utilizzare i campi

A volte vuoi utilizzare il valore di un campo (una dimensione, una misura o un calcolo della tabella) in un'espressione. Potresti voler aggiungere il valore del campo a qualcos'altro, verificare che abbia un determinato valore o includerlo in una funzione.

Come descritto in Aggiungere un campo, puoi digitare il nome del campo nell'editor delle espressioni e Looker ti aiuta a trovare il formato di riferimento corretto. Quando aggiungi un campo a un'espressione, Looker utilizza l'identificatore LookML del campo, ad esempio ${view_name.field_name}. Digita il nome del campo così come viene visualizzato nel selettore campi e l'editor di espressioni mostra il nome del selettore campi insieme all'identificatore LookML.

Esistono diversi modi per recuperare un valore:

  • Recuperare un valore dalla stessa riga: il modo più semplice per utilizzare un campo è farvi riferimento direttamente, ad esempio ${product.category}. Questo fa riferimento al valore di questo campo nella riga corrente.

  • Recuperare un valore da una riga diversa: puoi anche recuperare il valore di un campo da una riga diversa. Ad esempio, per ottenere la categoria di prodotto dalla riga precedente, utilizza una funzione di offset come offset(${product.category}, -1). Per un elenco delle funzioni posizionali, vedi Funzioni posizionali.

  • Ottenere un valore da una colonna sottoposta a pivot: per ottenere valori dalle colonne sottoposte a pivot, utilizza funzioni pivot come pivot_index(${order.total_sales}, 1). Per un elenco delle funzioni pivot, consulta Funzioni pivot.

  • Ottenere un totale da una riga o una colonna: se hai visualizzato i totali in Esplora, puoi ottenere i valori totali aggiungendo :total (per i totali delle colonne) o :row_total (per i totali delle righe) al nome del campo, utilizzando il formato ${field_name:total}. Ad esempio: ${orders.count} / ${orders.count:total}.

Utilizzare gli operatori

Le espressioni di Looker possono includere operatori logici, di confronto e matematici per creare condizioni diverse:

  • Operatori logici (ad esempio AND, OR e NOT)
  • Operatori di confronto (ad esempio > e <)
  • Operatori matematici (ad esempio + e -)

A meno che non specifichi diversamente con le parentesi, la logica AND viene valutata prima della logica OR. La seguente espressione senza parentesi aggiuntive:

if (
  ${order_items.days_to_process}>=4 OR
  ${order_items.shipping_time}>5 AND
  ${order_facts.is_first_purchase},
"review", "okay")

viene valutata come:

if (
  ${order_items.days_to_process}>=4 OR
  (${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")

In Looker, utilizza yes e no anziché true e false. Queste costanti logiche non sono la stessa cosa delle stringhe letterali "yes" e "no". Per saperne di più, consulta Costanti logiche.

Utilizzare le funzioni

Le espressioni di Looker spesso includono una o più funzioni per recuperare o calcolare i dati. Sono simili alle funzioni dei fogli di lavoro.

Le funzioni hanno la forma di un nome seguito da parentesi, ad esempio my_function(). I valori passati tra parentesi sono argomenti, ad esempio my_function(argument_1, argument_2).

Ad esempio, la funzione now non accetta argomenti e restituisce la data e l'ora correnti: now().

La funzione round accetta un argomento numerico: round(3.2). Il risultato è 3.

Per sapere quali argomentazioni fornire:

Considera la funzione contains:

Funzione Sintassi Finalità
contiene {:#function-contains} contains(string, search_string) Restituisce Yes se string contiene search_string, altrimenti restituisce No.

La funzione contains richiede due argomenti: string e search_string. L'argomento string rappresenta il campo o il testo in cui cercare, mentre search_string rappresenta il termine da cercare:

contains(${customer.feedback_text}, "great")

Se nel feedback del cliente viene visualizzato "ottimo", la funzione restituisce Yes. In caso contrario, restituisce No.

Puoi nidificare le funzioni all'interno di altre funzioni:

contains(
  if(
    is_null(${customer.feedback_text}),
    ${customer.comment_text},
    ${customer.feedback_text}
  ),
"great")

Questa espressione viene valutata in tre passaggi:

  1. La funzione is_null verifica se il testo del feedback del cliente è vuoto.
  2. La funzione if restituisce il testo del feedback, se presente; in caso contrario, restituisce il testo del commento.
  3. La funzione contains cerca "great" nel testo restituito.

Dal punto di vista logico, questa espressione significa: "Se è presente un feedback del cliente, cerca in questo testo. In caso contrario, cerca nei commenti dei clienti. In entrambi i casi, cerca la parola "ottimo".