Espressioni di Looker
Le espressioni di Looker (dette anche Lexp) vengono utilizzate per eseguire calcoli per:
Un'espressione Looker è costituita da una combinazione di questi elementi:
NULL: il valore
NULLindica 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
7o una stringa comeCompletedsono 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 esempio
=,>, e<=) - Operatori logici (ad esempio
AND,OReNOT)
- Operatori matematici (ad esempio
Una funzione di Looker: sono simili alle funzioni di Excel. Le funzioni consentono di trasformare i dati o fare riferimento ai dati 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 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 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 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 di 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 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 delle righe, le parole Totali delle righe vengono visualizzate davanti al 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 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 passi il cursore 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. 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 un valore 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.
Utilizzare i suggerimenti per gli errori e il riquadro delle informazioni
Looker visualizza un riquadro delle informazioni accanto all'editor espressioni Looker. Questo riquadro fornisce documentazione e suggerimenti, soprattutto se nell'espressione è presente un errore.
Il riquadro delle informazioni accanto all'editor espressioni 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 è presente un errore, spiega perché si verifica. Se sono presenti più errori, quello che ti viene mostrato dipende dalla posizione del cursore.
Documentazione: Looker visualizza 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 vero o falso. Puoi fare clic sul nome della funzione per accedere alla documentazione relativa.
Includere commenti
Puoi includere commenti nelle espressioni di Looker iniziando la riga del commento con # nell'editor espressioni.
Utilizzare i 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 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 e l'editor espressioni ti mostrerà il nome del selettore campi e l'identificatore LookML insieme.
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 caso, stai dicendo "per una determinata riga, prendi la categoria di prodotto da quella riga".Recuperare un valore da una riga diversa: puoi anche recuperare il valore di un campo da una riga diversa. Ad esempio, potresti voler utilizzare la logica "per una determinata riga, prendi la categoria di prodotto dalla riga precedente". Per farlo, puoi utilizzare una funzione di offset (vedi 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 i valori dalle colonne pivot. Ad esempio, potresti voler utilizzare la logica "per una determinata riga, prendi le vendite totali dalla prima colonna pivot". Per lavorare con le colonne pivot, devi utilizzare le funzioni pivot (vedi questo elenco di funzioni pivot). La funzione pivot potrebbe avere il seguente aspetto:
pivot_index(${order.total_sales}, 1).Recuperare un totale da una riga o una colonna: se hai aggiunto i totali a Explore, puoi recuperare 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 degli 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,OReNOT) - 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", 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, ad esempio my_function(). Potresti dover fornire informazioni all'interno di queste parentesi, separate da virgole. Queste informazioni sono chiamate "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. Si utilizza nel seguente modo: now().
La round funzione accetta un argomento, ovvero un numero. Si utilizza nel seguente modo: 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 espressioni fornisce una documentazione sulla funzione che stai scrivendo. Puoi fare clic sul nome della funzione per accedere alla documentazione relativa.
- Puoi anche accedere direttamente alla pagina della documentazione Funzioni e operatori di Looker e cercare la funzione che vuoi utilizzare.
Considera la funzione contains, la cui documentazione ha il seguente aspetto:
| Funzione | Sintassi | Finalità |
|---|---|---|
| contains | 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 "string" e "search_string" nella funzione. Questi sono solo i nomi degli argomenti che sostituirai con qualcos'altro. Leggendo la finalità, vediamo che string deve essere un campo o un altro valore in cui vogliamo cercare in, mentre il search_string è ciò che vogliamo cercare for. Un esempio potrebbe essere:
contains(${customer.feedback_text}, "great")
Se la parola "great" (ottimo) compare nel feedback dei clienti, questa funzione restituisce Yes. In caso contrario, restituisce No.
Puoi inserire le funzioni all'interno di altre funzioni per gestire la logica complessa. Se 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, a sua volta all'interno di una funzione contains. Funziona nel seguente modo:
- La funzione
is_null()controlla il testo del feedback dei clienti. - Successivamente, la funzione
if()utilizza questo risultato e restituisce il testo del feedback dei clienti, se presente, altrimenti restituisce il testo del commento del cliente. - Infine, la funzione
contains()utilizza il testo restituito dalla funzioneif()e cerca la parola "great".
Dal punto di vista logico, questa espressione significa: "Se è presente un feedback dei clienti, cerca in questo. In caso contrario, cerca invece nei commenti dei clienti. In entrambi i casi, cerca la parola 'great' ".