Espressioni di Looker
Le espressioni Looker (a volte indicate come Lexp) vengono utilizzate per eseguire calcoli per:
Un'espressione di 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 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 di Looker:un riferimento a un campo di 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 di espressioni di Looker. Mentre digiti l'espressione, Looker ti suggerisce funzioni, operatori e nomi di 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 dei campi personalizzati mostra i campi di esplorazione 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 appare nella pagina Esplora oppure utilizzare il nome in 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
. 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 passi il cursore del mouse sopra un operatore, nel riquadro delle informazioni vengono visualizzate le note per l'utilizzo 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 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 delle espressioni di Looker. Questo riquadro fornisce documentazione e suggerimenti, soprattutto se è presente un errore nell'espressione.
Il riquadro delle informazioni accanto all'editor di 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 valutare come true o false. Puoi fare clic sul nome della funzione per passare alla relativa documentazione.
Sono inclusi i commenti
Puoi includere commenti nelle espressioni di Looker iniziando la riga del commento con #
nell'editor di 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 appare nel selettore campi. L'editor di espressioni mostrerà il nome del selettore campi e l'identificatore LookML insieme.
Esistono diversi modi per recuperare un valore:
Ottieni un valore dalla stessa riga:il modo più semplice per utilizzare un campo è fare riferimento direttamente a questo. 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, prendi la categoria prodotto dalla riga precedente". A tale scopo, puoi utilizzare una funzione di offset (consulta questo elenco di funzioni di posizione). La funzione di offset potrebbe avere il seguente aspetto:
offset(${product.category}, -1)
.Ottieni un valore da una colonna pivot:puoi anche ottenere valori dalle colonne pivot. 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 avere il seguente aspetto:
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 vuoi una percentuale del totale di un conteggio Ordini, puoi creare un calcolo tabulare come questo:${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-
)
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 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 a calcolare determinate cose. Sono simili alle funzioni di Excel.
Le funzioni hanno la forma di un nome seguito da due parentesi, come ad esempio my_function()
. Potresti dover fornire informazioni all'interno di queste 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 restituisce la data e l'ora correnti. Lo utilizzi così: now()
.
La funzione round
accetta un argomento, che è un numero. Lo utilizzi così: 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 accedere alla relativa documentazione.
- Puoi anche andare direttamente alla pagina della 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 e No in caso contrario |
Puoi vedere che sono necessari due argomenti. Hanno i nomi string
e search_string
, ma ciò 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. Dalla lettura dello scopo, risulta che string
deve essere un campo o un altro valore in cui vogliamo effettuare la ricerca, mentre search_string
è l'elemento 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 No
.
Puoi inserire funzioni all'interno di altre funzioni per gestire una logica complessa. La funzione funzionerà purché il risultato della funzione interna sia appropriato per gli argomenti della funzione esterna. 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()
controlla il testo del feedback del cliente. - Successivamente, la funzione
if()
utilizza questo risultato e restituisce il testo del feedback del cliente, se presente, o il testo del commento del cliente. - Infine, la funzione
contains()
utilizza il testo restituito dalla funzioneif()
e cerca la parola "fantastico".
Logicamente, 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 "fantastico".