Espressioni di Looker
Le espressioni Looker (a volte chiamate Lexp) vengono utilizzate per eseguire calcoli per:
Un'espressione di Looker viene 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 un elemento sia vuoto o non esista.Una costante: una costante è un valore invariabile che fornisci. Un numero come
7
o una stringa comeCompleted
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 es.
=
,>
e<=
) - Operatori logici (ad esempio
AND
,OR
eNOT
)
- Operatori matematici (ad esempio
Una funzione di Looker: sono simili per natura alle funzioni di Excel. Le funzioni ti consentono di trasformare i dati o i dati di riferimento in modi complessi. Tutte le funzioni disponibili sono elencate nella pagina della documentazione Funzioni e operatori di Looker.
Creazione di espressioni di Looker
I calcoli tabulari, i campi personalizzati e i filtri personalizzati utilizzano l'editor espressioni di Looker. Mentre digiti l'espressione, Looker ti richiede le funzioni, gli operatori e i nomi dei campi che potresti voler utilizzare.
Visualizzazione di 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 al momento è selezionato un campo nell'esplorazione, Looker mostra un punto nero a sinistra del campo e lo mostra nella parte superiore dell'elenco.
Inizia a digitare nell'editor di espressioni di Looker per accorciare l'elenco agli elementi che ti interessano.
L'editor per i campi personalizzati visualizza i campi 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. Durante la digitazione, l'editor restringe la ricerca a un elenco di campi e funzioni contenenti il testo digitato. Puoi digitare il nome del campo così come viene visualizzato nella pagina Esplora o 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 avranno nomi univoci nell'espressione.
Aggiunta di totali
Se stai creando un'espressione basata su un'esplorazione in cui hai visualizzato i totali, puoi includere anche i totali di righe e colonne 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 assegni 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 di riga, le parole Totali di riga vengono visualizzate prima del nome del campo nell'editor e, 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
. Di solito gli operatori AND
vengono valutati prima degli operatori OR
, ma puoi ignorare questo comportamento usando le parentesi. Puoi anche utilizzare operatori di confronto (ad esempio >
, =
e <=
) e operatori matematici (ad esempio +
e *
).
Quando passi il cursore del mouse sopra 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. Durante la digitazione, l'editor restringe la ricerca a un elenco di campi e funzioni contenenti il testo 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 mouse 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 fare riferimento all'elenco completo delle funzioni offerte da Looker nella pagina della documentazione Funzioni e operatori di Looker.
Utilizzare i suggerimenti di errore e il riquadro delle informazioni
Looker mostra un riquadro informativo accanto all'editor di espressioni di Looker. Questo riquadro fornisce documentazione e suggerimenti, soprattutto se è presente un errore nell'espressione.
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 sugli errori: Looker fornisce suggerimenti su cosa aggiungere alla tua espressione. Se si verifica un errore, viene spiegato il motivo. Se sono presenti più errori, quello visualizzato dipende dalla posizione del cursore.
Documentazione: Looker mostra la documentazione relativa alla funzione o all'operatore con cui stai lavorando, 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 come vero o falso. Puoi fare clic sul nome della funzione per passare alla relativa documentazione.
Sono inclusi i commenti
Puoi includere commenti nelle espressioni di Looker all'inizio della riga di commento con #
nell'editor delle espressioni.
Utilizzo dei campi
A volte potresti voler 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, includerlo in una funzione o molte altre possibilità.
Come descritto in precedenza in questa pagina, puoi digitare il nome del campo nell'editor di 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 il seguente aspetto: ${view_name.field_name}
. Digita il nome del campo così come viene visualizzato nel selettore campi e l'editor espressioni mostrerà il nome del selettore campi e l'identificatore LookML.
Esistono diversi modi per recuperare un valore:
Recupero di 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, stai dicendo "per una determinata riga, prendi la categoria di prodotto da quella riga".Ottieni un valore da un'altra riga: puoi anche ottenere il valore di un campo da un'altra riga. Ad esempio, potresti voler utilizzare la logica "per una determinata riga, recupera la categoria prodotto dalla riga precedente". A questo scopo, puoi utilizzare una funzione di offset (consulta questo elenco di funzioni posizionali). La funzione di offset potrebbe essere simile a questa:
offset(${product.category}, -1)
.Recuperare un valore da una colonna sottoposta a pivot: puoi ottenere valori anche da colonne utilizzate. Ad esempio, potresti voler utilizzare la logica "per una determinata riga, prendi le vendite totali dalla prima colonna pivotata". Per lavorare con le colonne pivot, devi utilizzare le funzioni pivot (consulta questo elenco di funzioni pivot). La funzione pivot potrebbe essere simile alla seguente:
pivot_index(${order.total_sales}, 1)
.Ottieni un totale da una riga o una colonna: se hai aggiunto i totali all'esplorazione, puoi ottenere i valori totali dalla colonna o dalla riga aggiungendo
:total
(per i totali di colonna) o:row_total
(per i totali di riga) al nome del campo, utilizzando il formato${field_name:total}
. Ad esempio, se desideri una percentuale del totale del conteggio degli Ordini, puoi creare un calcolo tabulare come il seguente:${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
eNOT
) - Operatori di confronto (ad es.
>
e<
) - Operatori matematici (ad esempio
+
e-
)
Se non diversamente specificato tra 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 valutato 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 uguali alle parole "yes"
e "no"
, racchiuse tra virgolette. Per ulteriori dettagli, consulta la descrizione delle costanti logiche.
Utilizzare le funzioni
Le espressioni di Looker spesso includono una o più funzioni, che ti aiutano a recuperare determinati dati o calcolare determinati elementi. Sono simili alle funzioni di Excel.
Le funzioni hanno la forma di un nome seguito da due parentesi, come my_function()
. Potresti dover inserire le informazioni tra parentesi, separate da virgole. Questi frammenti di informazioni sono chiamati "argomenti" e hanno il seguente aspetto: my_function(argument_1, argument_2)
.
Ad esempio, la funzione now
non accetta argomenti e fornisce la data e l'ora correnti. Lo utilizzi così: now()
.
La funzione round
accetta un argomento, che è un numero. Lo usi in questo modo: round(3.2)
. Il risultato è 3
.
Esistono due modi per sapere quali argomenti, se presenti, devi fornire:
- Il riquadro delle informazioni visualizzato accanto all'editor delle espressioni fornisce alcune informazioni sulla funzione che stai scrivendo. Puoi fare clic sul nome della funzione per passare alla relativa documentazione.
- Puoi anche passare direttamente alla pagina della documentazione Funzioni e operatori di Looker per cercare la funzione che vuoi utilizzare.
Considera la funzione contains
, che ha una documentazione simile alla seguente:
Funzione | Sintassi | Finalità |
---|---|---|
contiene | contains(string, search_string) |
Restituisce Yes se string contiene search_string e No negli altri casi |
Puoi vedere che sono necessari due argomenti. Hanno il nome string
e search_string
, ma questo non significa che devi digitare la parola esatta "stringa" e "stringa_ricerca" nella funzione. Si tratta solo di nomi per gli argomenti che sostituirai con qualcosa. Leggendo lo scopo, vediamo che string
dovrebbe essere un campo o un altro valore da cercare in, 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 un risultato pari a Yes
. In caso contrario, restituisce il risultato No
.
Puoi inserire funzioni all'interno di altre funzioni per gestire una logica complessa. 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 all'interno di una funzione contains
. Ecco come funziona:
- La funzione
is_null()
verifica il testo del feedback del cliente. - Successivamente, la funzione
if()
utilizza il risultato e restituisce l'eventuale testo del feedback del cliente, altrimenti restituisce il testo del commento del cliente. - Infine, la funzione
contains()
utilizza il testo restituito dalla funzioneif()
e cerca la parola "great".
Logicamente, questa espressione significa: "Se c'è un feedback del cliente, cercalo. In caso contrario, cerca nei commenti dei clienti. In entrambi i casi, cerca la parola "fantastico".