Creazione di espressioni di Looker

Espressioni di Looker

Le espressioni Looker (a volte chiamate Lexp) vengono utilizzate per eseguire calcoli per:

Un'espressione di 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: esistono diversi tipi di operatori (elencati nella pagina della documentazione Funzioni e operatori di Looker):

    • Operatori matematici (ad esempio +, -, * e /)
    • Operatori di confronto (ad esempio =, > e <=)
    • Operatori logici (ad esempio AND, OR e NOT)
  • Una funzione di Looker:sono simili alle funzioni di Excel. Le funzioni ti consentono di trasformare i dati o fare riferimento ai dati in modo complesso. Tutte le funzioni disponibili sono elencate nella pagina di documentazione Funzioni e operatori di Looker.

Creazione di espressioni 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.

Visualizzare tutti i suggerimenti

Accedi all'editor espressioni di 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 di Looker per ridurre l'elenco agli elementi che ti interessano.

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

Aggiunta di 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 viene visualizzato nella pagina Esplora oppure 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 assegnerà 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 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 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 passi il cursore sopra un operatore, nel riquadro delle informazioni vengono visualizzate 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 passi il cursore sopra una funzione, puoi controllare le note visualizzate accanto all'espressione nel riquadro delle informazioni per capire quali argomenti devi fornire e di che tipo devono essere.

Puoi consultare l'elenco completo delle funzioni offerte da Looker nella pagina della documentazione Funzioni e operatori di Looker.

Utilizzo dei suggerimenti per gli errori e del riquadro delle informazioni

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

Il riquadro delle informazioni accanto all'editor delle espressioni fornisce le seguenti informazioni:

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

  • Suggerimenti e dettagli dell'errore: Looker fornisce suggerimenti su cosa aggiungere successivamente all'espressione. Se si verifica un errore, viene spiegato il motivo. Se sono presenti più errori, quello che ti viene mostrato si basa sulla posizione del cursore.

  • Documentazione:Looker mostra la documentazione relativa alla funzione o all'operatore che stai utilizzando, in base alla posizione del cursore. Ad esempio, mentre digiti il primo argomento di una funzione if(), Looker fornisce le informazioni che il primo argomento deve restituire true o false. Puoi fare clic sul nome della funzione per passare alla relativa documentazione.

Inclusi i commenti

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

Utilizzo dei 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, includerlo in una funzione o molte altre possibilità.

Come descritto in precedenza in questa pagina, puoi digitare il nome del campo nell'editor delle espressioni e Looker ti aiuterà a trovare il modo corretto per fare riferimento al campo. Quando aggiungi un campo a un'espressione, Looker utilizza l'identificatore LookML del campo, che ha l'aspetto di ${view_name.field_name}. Digita il nome del campo così come viene visualizzato nel selettore campi e l'editor di espressioni mostrerà insieme il nome del selettore campi e l'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, l'espressione potrebbe utilizzare ${product.category}. In questo modo, indichi che per ogni riga devi prendere la categoria di prodotto da quella riga.

  • Ottenere un valore da una riga diversa:puoi anche ottenere il valore di un campo da una riga diversa. Ad esempio, potresti voler applicare la logica "per ogni riga, prendi la categoria di prodotto dalla riga precedente". Per farlo, puoi utilizzare una funzione di offset (consulta questo elenco di funzioni posizionali). La funzione di offset potrebbe avere il seguente aspetto: offset(${product.category}, -1).

  • Recuperare un valore da una colonna pivot: puoi anche recuperare valori da colonne pivot. Ad esempio, potresti volere la logica "per una determinata riga, prendi le vendite totali dalla prima colonna pivot". Per lavorare con le colonne sottoposte a pivot, devi utilizzare le funzioni pivot (consulta questo elenco di funzioni pivot). La funzione Pivot potrebbe avere il seguente aspetto: pivot_index(${order.total_sales}, 1).

  • Ottenere un totale da una riga o una colonna:se hai aggiunto i totali a Explore, puoi ottenere i valori totali dalla colonna o dalla riga 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, se vuoi una percentuale del totale di un conteggio Ordini, puoi creare un calcolo tabulare come questo: ${orders.count} / ${orders.count:total}.

Utilizzo degli 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 considerata 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, devi utilizzare yes e no anziché true e false. Queste costanti logiche non sono la stessa cosa delle parole "yes" e "no", che sono racchiuse tra virgolette. Per ulteriori dettagli, consulta la descrizione delle costanti logiche.

Utilizzo delle funzioni

Le espressioni di Looker spesso includono una o più funzioni, che ti aiutano a recuperare determinati dati o a calcolare determinate cose. Sono simili per natura alle funzioni di Excel.

Le funzioni hanno la forma di un nome seguito da due parentesi, ad esempio: my_function(). Potresti dover fornire informazioni all'interno delle parentesi, separate da virgole. Queste informazioni sono chiamate "argomenti" e hanno questo aspetto: my_function(argument_1, argument_2).

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

La funzione round accetta un argomento, ovvero un numero. Si usa così: round(3.2). Il risultato è 3.

Esistono due modi per sapere quali argomenti devi fornire, se presenti:

  • Il riquadro delle informazioni visualizzato accanto all'editor delle espressioni fornisce della documentazione sulla funzione che stai scrivendo. Puoi fare clic sul nome della funzione per accedere alla relativa documentazione.
  • Puoi anche andare direttamente alla pagina di documentazione Funzioni e operatori di Looker e cercare la funzione che vuoi utilizzare.

Prendi in considerazione la funzione contains, la cui documentazione è simile alla seguente:

Funzione Sintassi Finalità
contiene contains(string, search_string) Restituisce Yes se string contiene search_string, altrimenti restituisce No

Puoi notare che sono necessari due argomenti. Hanno i nomi string e search_string, ma ciò non significa che devi digitare le parole esatte "stringa" e "search_string" nella funzione. Questi sono solo nomi per gli argomenti che sostituirai con qualcos'altro. Leggendo lo scopo, vediamo che string deve essere un campo o un altro valore in cui vogliamo cercare, mentre search_string è ciò che vogliamo cercare. Un esempio potrebbe essere:

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

Se nel feedback del cliente compare la parola "ottimo", questa funzione restituisce il risultato Yes. In caso contrario, il risultato è No.

Puoi inserire funzioni all'interno di altre funzioni per gestire logiche complesse. Finché il risultato della funzione interna è appropriato per gli argomenti della funzione esterna, funzionerà. Ad esempio:

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

La funzione is_null è nidificata all'interno di una funzione if, che a sua volta si trova all'interno di una funzione contains. Ecco come funziona:

  1. La funzione is_null() controlla il testo del feedback dei clienti.
  2. Successivamente, la funzione if() utilizza questo risultato e restituisce il testo del feedback del cliente, se presente, altrimenti restituisce il testo del commento del cliente.
  3. Infine, la funzione contains() utilizza il testo restituito dalla funzione if() e cerca la parola "ottimo".

Dal punto di vista logico, questa espressione significa: "Se ci sono feedback dei clienti, cercali. In caso contrario, cerca nei commenti dei clienti. In entrambi i casi, cerca la parola "ottimo".