Creazione di espressioni di Looker

Se l'amministratore ti ha concesso le autorizzazioni per creare calcoli delle tabelle, 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)

Se l'amministratore ti ha concesso le autorizzazioni per creare i campi personalizzati, puoi utilizzare le seguenti funzionalità per eseguire rapidamente funzioni comuni senza dover creare espressioni di Looker:

Espressioni Looker

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

Un'espressione 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 non sia presente o non esista.

  • Una costante:una costante è un valore fisso che fornisci. Un numero come 7 o una stringa come Completed sono costanti.

  • Un campo Looker:un riferimento a un campo Looker contenente dimensioni, misure e calcoli tabulari.

  • Un operatore 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 (come 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 consultarli 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. Durante la digitazione dell'espressione, Looker ti chiede le funzioni, gli operatori e i nomi dei campi che potresti voler utilizzare.

Handy Tip: se sei uno sviluppatore di Looker e crei un test dei dati per verificare la logica del tuo modello, puoi utilizzare l'editor espressioni di Looker per creare un'espressione di Looker e poi copiarla nel parametro expression del test dei dati.

Visualizzazione di tutti i suggerimenti

Accedi all'editor espressioni di Looker in un'esplorazione creando un calcolo 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. Se un campo è attualmente selezionato in Explore (Esplora), Looker visualizza un cerchio nero a sinistra del campo e lo visualizza in cima all'elenco.

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

L'editor per i campi personalizzati mostra 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 restringe la ricerca a un elenco di campi e funzioni che contengono ciò che hai digitato. Puoi digitare il nome del campo come viene visualizzato nella pagina Esplora oppure puoi usare 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.

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

Aggiunta di totali

Se crei un'espressione basata su un'esplorazione in cui hai visualizzato i totali, puoi anche includere nell'espressione i totali delle colonne e delle righe. I totali delle colonne vengono visualizzati nell'editor con la parola Totale davanti all'iterazione di LookML del nome del campo. Ad esempio, per un campo denominato Conteggio, Looker assegna al nome della colonna il totale Count - Total.

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 Totali riga viene visualizzata davanti al nome del campo nell'editor; il nome del campo LookML viene aggiunto :row_total alla fine del nome del campo.

Aggiunta di 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 sostituire questo comportamento usando le parentesi. Puoi anche utilizzare operatori di confronto (ad esempio >, = e <=) e operatori matematici (ad esempio + e *).

Quando il cursore si trova su un operatore, viene visualizzata una nota per il corretto utilizzo a destra della tua espressione nel riquadro informazioni.

Puoi leggere istruzioni più dettagliate sull'utilizzo degli operatori nella sezione Utilizzare gli operatori in questa pagina.

Aggiungere funzioni

Per includere una funzione Looker nell'espressione, inizia a digitare il nome della funzione. Mentre 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 certo 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.

Puoi fare riferimento all'elenco completo delle funzioni offerte da Looker nella pagina della documentazione relativa alle funzioni e agli operatori di Looker.

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

Utilizzare i suggerimenti sugli errori e il riquadro delle informazioni

Mentre digiti un'espressione, Looker visualizza un riquadro informativo a destra. Questo riquadro fornisce la documentazione e i suggerimenti, soprattutto se l'espressione contiene un errore.

L'editor fornisce:

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

  • Suggerimenti e dettagli degli errori: la parte superiore del riquadro delle informazioni fornisce suggerimenti su cosa aggiungere nell'espressione. Se si verifica un errore, ne viene spiegato il motivo. Se sono presenti più errori, l'errore che viene mostrato si basa sulla posizione del cursore.

  • Documentazione: nella parte inferiore del riquadro delle informazioni, 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 in quella sezione per accedere alla relativa documentazione.

Commenti inclusi

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

Utilizzo dei campi

A volte è consigliabile 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 un'altra cosa, verifica che abbia un determinato valore, includilo 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 il relativo identificatore LookML, simile a ${view_name.field_name}. Questo identificatore non corrisponde sempre al nome del campo nel selettore di campi, ma va bene se non sai di cosa si tratta. Digita il nome del campo come appare nel selettore di campi e l'editor delle espressioni mostrerà insieme il nome del selettore di campi e l'identificatore LookML.

Esistono diversi modi per recuperare un valore:

  • Ottieni un valore dalla stessa riga: il modo più semplice per utilizzare un campo è farvi riferimento direttamente. Ad esempio, l'espressione potrebbe utilizzare ${product.category}. A questo scopo, stai dicendo "per una determinata riga, scegli la categoria di prodotto dalla riga in questione".

  • Ottieni un valore da un'altra riga: puoi recuperare un valore di un campo anche da un'altra riga. Ad esempio, potresti volere la logica "per una determinata riga, recuperare la Categoria di prodotto dalla riga precedente". Per farlo, puoi utilizzare una funzione di offset (vedi questo elenco di funzioni di posizione). Ecco un esempio: offset(${product.category}, -1).

  • Ottieni un valore da una colonna pivot:puoi recuperare valori anche da colonne pivot. Ad esempio, potresti volere la logica "per ogni riga, recupera le vendite totali dalla prima colonna pivot". Per utilizzare le colonne pivot, devi utilizzare le funzioni pivot (vedi questo elenco di funzioni pivot). Ecco un esempio: pivot_index(${order.total_sales}, 1).

  • Genera 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) al nome del campo utilizzando il formato ${field_name:total}. Ad esempio, se vuoi una percentuale del totale di un numero Ordini, puoi creare un calcolo tabulare come segue: ${orders.count} / ${orders.count:total}.

Quando fai riferimento ai campi in un filtro personalizzato, puoi utilizzare solo le dimensioni: non misurazioni, totali o calcoli tabulari. Inoltre, non puoi fare riferimento ai valori in altre righe o colonne pivot. Questo perché 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 tabella, puoi fare riferimento a qualsiasi valore di qualsiasi dimensione, misura o altro calcolo tabulare.

Utilizzo degli operatori

Le espressioni di Looker possono includere operatori logici, di confronto e matematici per creare condizioni diverse:

  • Operatori logici (come AND, OR e NOT)
  • Operatori di confronto (come > 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", che sono racchiuse tra virgolette. Per maggiori dettagli, consulta la descrizione delle costanti logiche.

Utilizzo delle funzioni

Le espressioni di Looker includono spesso una o più funzioni, che ti consentono di recuperare determinati dati o determinate cose. Sono di natura simile alle funzioni di Excel.

Le funzioni hanno la forma di un nome seguito da due parentesi, come in questo 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 fornisce la data e l'ora correnti. Puoi utilizzarlo in questo modo: now().

La funzione round può assumere un argomento, che è un numero. Puoi utilizzarlo in questo modo: round(3.2). Il risultato è 3.

Esistono due modi per sapere quali argomenti devi fornire:

  • Il riquadro informazioni visualizzato a destra dell'editor espressioni offre tutta la documentazione relativa alla 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.

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

Funzione Syntax Finalità
contiene contains(string, search_string) Restituisce Yes se string contiene search_string e No in caso contrario

Come vedi, due argomenti sono obbligatori. Hanno i nomi string e search_string, ma ciò non significa che devi digitare esattamente la parola "string" e "search_string" nella funzione. Questi sono solo nomi degli argomenti che verranno sostituiti con qualcosa. Dopo aver letto lo scopo, vediamo che string deve corrispondere a un campo o a un altro valore in cui cercare, mentre search_string è quello che vogliamo cercare. Ecco un esempio:

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

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

È possibile 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à. Ecco alcuni esempi:

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 in questo modo:

  1. La funzione is_null() controlla se è presente del testo per il feedback dei clienti.
  2. La funzione if() utilizza quindi quel risultato e restituisce il testo del feedback del cliente, se presente, o altrimenti restituisce il testo del commento del cliente.
  3. Infine, la funzione contains() utilizza il testo restituito dalla funzione if() e cerca il termine "ottimo".

A livello logico, questa espressione significa: "Se sono presenti feedback dei clienti, esegui una ricerca al loro interno. In caso contrario, cercalo nei commenti dei clienti. In entrambi i casi, cerca la parola "ottimo" ".

I filtri personalizzati e i campi personalizzati possono utilizzare la maggior parte delle funzioni, ma non possono utilizzare alcune funzioni matematiche o 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 tabella. Puoi anche utilizzare qualsiasi funzione nel parametro expression di un test dei dati, poiché il parametro expression è essenzialmente un calcolo tabulare che si traduce in un yesno (booleano).