Creazione di espressioni di Looker

Se l'amministratore ha abilitato la funzionalità Custom Fields (Campi personalizzati) di Labs, puoi utilizzare le seguenti funzionalità per eseguire rapidamente funzioni comuni senza creare espressioni di Looker:

  • Calcoli rapidi per eseguire rapidamente calcoli comuni su campi numerici che si trovano in una tabella dati di Explore (Esplora)
  • Gruppi personalizzati per raggruppare rapidamente i valori in base alle etichette personalizzate senza dover sviluppare la logica di CASE WHEN nei parametri sql o nei campi type: case
  • bin personalizzati per raggruppare i valori delle dimensioni di tipo numerico in livelli personalizzati senza dover sviluppare campi LookML type: tier

Espressioni Looker

Le espressioni di Looker, dette anche 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 ci sono dati e può essere utile quando vuoi verificare che qualcosa sia vuoto o non esista.

  • Una costante: una costante è un valore invariato 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 Looker: sono disponibili diversi tipi di operatori (indicati nella pagina della documentazione relativa a 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 di natura simile 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 tabella, i campi personalizzati e i filtri personalizzati utilizzano l'editor espressioni di Looker. Mentre digiti l'espressione, Looker ti chiede funzioni, operatori e nomi di campi che potresti utilizzare.

Handy Suggerimento: se sei uno sviluppatore di Looker che crea un test di dati per verificare la logica del tuo modello, puoi utilizzare l'editor espressioni di Looker per creare un'espressione di Looker, quindi copiare il parametro expressiondel test dei dati.

Visualizzazione di tutti i suggerimenti

Accedi all'editor espressioni di Looker in un'esplorazione creando un calcolo della tabella, un campo personalizzato o un filtro personalizzato.

Digita uno spazio per visualizzare un elenco di tutti i campi, le funzioni e gli operatori che puoi scegliere. I campi attualmente in uso in un'esplorazione sono contrassegnati da un cerchio nero e vengono visualizzati nella parte superiore.

Inizia a digitare per ridurre l'elenco agli elementi che ti interessano.

Nell'editor per i campi personalizzati vengono visualizzati i campi Esplora attualmente in uso, se sono compatibili con la funzione del campo personalizzato.

Aggiungere un campo

Per includere un campo Looker nell'espressione, inizia a digitare il nome del campo. Mentre digiti, l'editor limita la ricerca a un elenco di campi e funzioni che contengono quello che hai digitato. Puoi digitare il nome del campo così come appare nella pagina Esplora oppure puoi utilizzarne il nome LookML se lo conosci.

Quando selezioni un campo dall'elenco, Looker lo aggiunge alla tua espressione utilizzando il nome LookML nel modulo ${view_name.field_name}. In questo modo, tutti i campi avranno nomi univoci nell'espressione.

Puoi leggere istruzioni più dettagliate sull'utilizzo dei campi nella sezione Utilizzo dei campi di questa pagina.

Aggiunta dei totali

Se crei un'espressione basata su un'esplorazione in cui hai visualizzato i totali, puoi anche includere 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. Il totale della colonna Conteggio viene visualizzato come primo suggerimento di seguito:

Il nome LookML dei totali è nel formato ${view_name.field_name:total}, dove :total viene aggiunto alla fine del nome del campo. Per i totali delle righe, la parola Totals riga viene visualizzata davanti al nome del campo nell'editor e, nel nome LookML del campo, :row_total viene aggiunto alla fine del nome del campo.

Aggiungere operatori

Se necessario, puoi aggiungere 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 gli operatori di confronto (ad esempio >, = e <=) e gli operatori matematici (ad esempio + e *).

Quando il cursore si trova su un operatore, le note per il corretto utilizzo vengono visualizzate a destra dell'espressione nel riquadro delle informazioni.

Puoi leggere istruzioni più dettagliate sull'utilizzo degli operatori nella sezione Utilizzo degli operatori di questa pagina.

Aggiungere funzioni

Per includere una funzione di Looker nella tua espressione, inizia a digitare il nome della funzione. Mentre digiti, l'editor limita la ricerca a un elenco di campi e funzioni che contengono quello 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 il cursore si trova su una funzione, puoi controllare le note che vengono visualizzate a destra dell'espressione nel riquadro informazioni per capire quali argomenti devi fornire e di che tipo devono essere.

Per visualizzare l'elenco completo delle funzioni offerte da Looker, consulta la pagina della documentazione relativa alle funzioni e gli operatori di Looker.

Puoi leggere istruzioni più dettagliate sull'utilizzo delle funzioni nella sezione Utilizzo delle funzioni di questa pagina.

Utilizzare i suggerimenti per gli errori e il riquadro delle informazioni

Mentre digiti un'espressione, Looker visualizza un riquadro delle informazioni a destra. Questo riquadro fornisce la documentazione e i suggerimenti, soprattutto se hai un errore nell'espressione.

L'editor fornisce:

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

  • Suggerimenti e dettagli sugli errori: la parte superiore del riquadro delle informazioni fornisce suggerimenti su cosa aggiungere successivamente nell'espressione. Se c'è un errore, spiega perché si è verificato. Se sono presenti più errori, l'errore che viene visualizzato dipende dalla posizione del cursore.

  • Documentazione: nella parte inferiore del riquadro delle informazioni, Looker visualizza la documentazione sulla funzione o sull'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 dovrebbe valutare come vero o falso. Puoi fare clic sul nome della funzione in quella sezione per passare alla relativa documentazione.

Commenti inclusi

Puoi includere commenti nelle espressioni di Looker iniziando la riga di commento con #:

Utilizzo dei campi

A volte potresti voler utilizzare il valore di un campo (un calcolo di dimensione, misurazione o 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 sopra, digita il nome del campo nell'editor delle espressioni e Looker ti aiuterà a trovare il modo corretto per farvi riferimento. Quando aggiungi un campo a un'espressione, Looker utilizza l'identificatore LookML del campo, che è simile a ${view_name.field_name}. Questo identificatore non corrisponde sempre al nome del campo nel selettore di campi, ma non è consentito farlo se non sai cos'è. Digita il nome del campo così come appare nel selettore di campi e l'editor delle espressioni mostrerà il nome del selettore di campo 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 esso. Ad esempio, l'espressione potrebbe utilizzare ${product.category}. Se procedi, dirai "per una determinata riga, prendi la categoria di prodotto dalla riga in questione".

  • Ottieni un valore da una riga diversa: puoi anche ottenere un valore del campo da una riga diversa. Ad esempio, potresti volere la logica "per ogni riga specifica, recupera la Categoria di prodotto dalla riga precedente". Per farlo, puoi utilizzare una funzione di offset (consulta questo elenco di funzioni di posizione). Il codice potrebbe avere il seguente aspetto: offset(${product.category}, -1).

  • Recupera un valore da una colonna pivot: puoi anche recuperare valori da colonne sottoposte a pivot. Ad esempio, potresti volere la logica "per ogni riga specifica, prendere il totale delle vendite dalla prima colonna pivot". Per utilizzare le colonne pivot, devi utilizzare le funzioni pivot (consulta questo elenco di funzioni pivot). Il codice 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 valori totali dalla colonna o dalla riga aggiungendo :total (per i totali della colonna) o :row_total (per i totali della riga) utilizzando il formato ${field_name:total}. Ad esempio, se vuoi una percentuale del totale di un conteggio Ordini, puoi creare un calcolo tabulare in questo modo: ${orders.count} / ${orders.count:total}.

Quando fai riferimento ai campi in un filtro personalizzato, puoi utilizzare solo dimensioni, non misure, totali o calcoli tabulari. Inoltre, non puoi fare riferimento ad altri valori in altre righe o colonne pivot. Il motivo è che Looker deve essere in grado di trasformare il filtro in SQL per recuperare i dati.

Non tutte le opzioni di data e ora sono supportate nei filtri personalizzati o nei campi personalizzati. Per ulteriori informazioni, consulta la descrizione del parametro gruppo di dimensioni.

Quando fai riferimento ai campi in un calcolo tabulare, puoi fare riferimento a qualsiasi valore di qualsiasi dimensione, misurazione o altro calcolo tabulare.

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 (come + e -)

A meno che non venga specificato diversamente 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, dovresti utilizzare yes e no anziché true e false. Queste costanti logiche non corrispondono alle parole "yes" e "no", racchiuse tra virgolette. Per maggiori 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 determinate cose. Sono di natura simile alle funzioni di Excel.

Le funzioni hanno il formato di un nome seguito da due parentesi, come in questo caso: my_function(). Potresti dover fornire informazioni all'interno di queste parentesi separate da virgole. Queste informazioni vengono chiamate"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 come segue: now().

La funzione round utilizza un argomento, ovvero un numero. Lo utilizzi come segue: round(3.2). Il risultato è 3.

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

  • Il riquadro delle informazioni visualizzato a destra dell'editor delle espressioni fornisce una documentazione sulla funzione che stai scrivendo. Puoi fare clic sul nome della funzione per passare alla relativa documentazione.
  • In alternativa, puoi andare direttamente alla pagina della documentazione Funzioni e operatori di Looker e cercare la funzione che vuoi utilizzare.

Considera la funzione contains, che ha una documentazione simile alla seguente:

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

Puoi vedere che sono necessari due argomenti. Hanno i nomi string e search_string, ma questo non significa che devi digitare la parola esatta"stringa"e"stringa_ricerca". Questi sono solo nomi per gli argomenti che sostituirai con qualcosa. Leggendo lo scopo, vediamo che string dovrebbe essere un campo o un altro valore che vogliamo cercare in, mentre search_string è la cosa che vogliamo cercare . Ecco un esempio:

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

Se la parola "grande" compare nel feedback del cliente, questa funzione restituisce un risultato di Yes. In caso contrario, restituisce No.

Puoi inserire funzioni all'interno di altre funzioni per gestire una 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")

Qui abbiamo nidificato la funzione is_null all'interno di una funzione if, che a sua volta si trova all'interno di una funzione contains. Funziona così:

  1. La funzione is_null() verifica la presenza di testo del feedback dei clienti.
  2. Successivamente, la funzione if() utilizza quel risultato e restituisce il testo di feedback del cliente, se presente, oppure restituisce il testo di commento del cliente.
  3. Infine, la funzione contains() utilizza il testo restituito dalla funzione if() e cerca la parola "grezza".

A livello logico, questa espressione significa: &;;se ci sono feedback dei clienti, cercali. In caso contrario, cerca i commenti dei clienti. In entrambi i casi, cerca la parola 'gr&&39; ".

I filtri personalizzati e i campi personalizzati possono utilizzare la maggior parte delle funzioni, ma non alcune funzioni matematiche, o le funzioni che fanno riferimento ad altre righe o colonne pivot. La pagina della documentazione Funzioni e operatori di Looker ti consente di sapere quali funzioni puoi utilizzare.

Puoi utilizzare qualsiasi funzione in un calcolo tabulare. Puoi anche utilizzare qualsiasi funzione nel parametro expression di un test dei dati, poiché il parametro expression è essenzialmente un calcolo tabulare che restituisce un yesno (booleano).