Creare espressioni di Looker

Le espressioni di 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 approfondimenti specifici e a personalizzare l'analisi dei dati. Questa guida descrive come creare 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 completata utilizzando le scorciatoie integrate:

Espressioni di Looker

Le espressioni di Looker vengono utilizzate per eseguire calcoli per:

Un'espressione Looker è costituita 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 invariabile che fornisci. Un numero come 7 o una stringa come Completed sono costanti.

  • Un campo di Looker: un riferimento a un campo di 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 di fare riferimento ai dati in modi complessi. Per un elenco delle funzioni disponibili, vedi Funzioni e operatori di Looker.

Creare espressioni di Looker

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

Visualizzare tutti i suggerimenti

Accedi all'editor di espressioni Looker in un'esplorazione creando un calcolo tabulare, 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 Explore (Esplora), Looker visualizza un punto nero a sinistra del campo e il campo nella parte superiore dell'elenco.

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

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

Aggiungere un campo

Per includere un campo di 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 Explore (Esplora) oppure puoi utilizzare il suo 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 Explore (Esplora) 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 prima dell'iterazione LookML del nome del campo. Ad esempio, per un campo denominato Count, 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 delle righe, le parole Totali righe vengono visualizzate prima del 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 operatori logici come AND, OR e NOT all'espressione. In genere, gli operatori AND vengono valutati prima degli operatori OR, ma puoi ignorare questo comportamento utilizzando le parentesi. Puoi anche utilizzare operatori di confronto (ad esempio >, = e <=) e operatori matematici (ad esempio + e *).

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

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 tieni il puntatore su 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, vedi Funzioni e operatori di Looker.

Utilizzare i suggerimenti per gli errori e il riquadro delle informazioni

Looker visualizza un riquadro delle informazioni accanto all'editor di 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 all'espressione. Se si verifica un errore, spiega perché.

  • Documentazione: Looker visualizza 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.

Includere commenti

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

Utilizzare i campi

A volte vuoi utilizzare il valore di un campo (una dimensione, una misura o un calcolo tabulare) 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 espressioni e Looker ti aiuterà 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 appare nel selettore campi e l'editor espressioni visualizza 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}. In questo modo si fa riferimento al valore di quel 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 recuperare 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.

  • Recuperare un valore da una colonna pivot: per recuperare i valori dalle colonne pivot, utilizza le funzioni pivot come pivot_index(${order.total_sales}, 1). Per un elenco delle funzioni pivot, vedi Funzioni pivot.

  • Recuperare un totale da una riga o una colonna: se hai visualizzato i totali in Explore (Esplora), puoi recuperare 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 ulteriori informazioni, vedi 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 all'interno delle parentesi sono argomenti, ad esempio my_function(argument_1, argument_2).

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

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

Per sapere quali argomenti fornire:

Considera la contains funzione:

Funzione Sintassi Finalità
contains {:#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 eseguire la ricerca, mentre search_string rappresenta il termine da cercare:

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

Se "great" (ottimo) viene visualizzato nel feedback del cliente, 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 la parola "great" (ottimo) nel testo restituito.

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