Creazione di espressioni di Looker

Espressioni di Looker

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

Un'espressione di Looker viene creata da una combinazione dei seguenti elementi:

  • NULL: il valore NULL indica che non ci sono dati e può essere utile quando vuoi verificare che qualcosa sia vuoto o che 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 di Looker:esistono vari 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, OR e NOT)
  • Una funzione di Looker: sono simili per natura alle funzioni di Excel. Le funzioni ti consentono di trasformare i tuoi dati o di 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 espressioni di Looker. Durante la digitazione dell'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 delle 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 tra cui puoi scegliere. Se un campo è attualmente selezionato in Esplora, Looker visualizza un punto nero a sinistra del campo e il campo in cima all'elenco.

Inizia a digitare nell'editor delle espressioni di Looker per abbreviare l'elenco in base 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.

Aggiungere 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 ti assicuri che tutti i campi abbiano nomi univoci nell'espressione.

Aggiunta dei totali

Se stai creando un'espressione basata su un'esplorazione in cui hai visualizzato i totali, puoi anche includere nell'espressione i totali di colonne e righe. I totali delle colonne vengono visualizzati nell'editor con la parola Total davanti all'iterazione LookML del nome del campo. Ad esempio, per un campo denominato Conteggio, Looker assegna al totale della colonna 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, la parola Totali 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, ad esempio ${view_name.field_name:row_total}.

Aggiungere operatori

Se necessario, puoi aggiungere all'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 (come >, = e <=) e operatori matematici (come + e *).

Quando passi il cursore sopra un operatore, le note relative al corretto utilizzo vengono visualizzate nel riquadro delle informazioni.

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, come un campo, un numero o sì/no. Quando passi il cursore su una funzione, puoi controllare le note visualizzate accanto all'espressione nel riquadro delle informazioni per capire quali argomenti devi fornire e quale tipo.

Puoi consultare l'elenco completo delle funzioni offerte da Looker nella pagina della documentazione Funzioni e operatori di Looker.

Utilizzo dei suggerimenti per gli errori e del riquadro delle informazioni

Looker mostra un riquadro delle informazioni accanto all'editor delle espressioni di Looker. Questo riquadro fornisce documentazione e suggerimenti, soprattutto se l'espressione contiene un errore.

Il riquadro delle informazioni accanto all'editor delle espressioni fornisce le seguenti informazioni:

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

  • Suggerimenti e dettagli errore:Looker fornisce suggerimenti su cosa aggiungere successivamente nell'espressione. Se si verifica un errore, viene spiegato il motivo. Se sono presenti più errori, l'errore 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 accedere alla documentazione relativa a quella funzione.

Inclusi i commenti

Puoi includere commenti nelle espressioni di Looker all'inizio della riga di commento con # nell'editor delle 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 delle 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, simile a ${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, ti riferisci a "per ogni riga, recupera la categoria di prodotto da quella riga".

  • Recuperare un valore da un'altra riga:puoi ottenere il valore di un campo anche da un'altra riga. Ad esempio, potresti voler utilizzare la logica "per ogni riga, recupera la categoria di 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 utilizzare la logica "per ogni riga, recupera le vendite totali dalla prima colonna pivot". Per utilizzare le colonne incrociate, 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).

  • Ottenere un totale da una riga o una colonna: se hai aggiunto totali all'esplorazione, puoi ricavare 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 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 e NOT)
  • Operatori di confronto (ad esempio > 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 segue:

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 calcolare determinati elementi. Sono simili per natura alle funzioni di Excel.

Le funzioni hanno la forma di un nome seguito da due parentesi, ad esempio: my_function(). Potresti dover inserire le informazioni tra 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. Lo usi in questo modo: now().

La funzione round prende un argomento, che è un numero. Lo usi in questo modo: round(3.2). Il risultato è 3.

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

  • Il riquadro delle informazioni visualizzato accanto all'editor delle espressioni fornisce la documentazione relativa alla 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 in caso contrario

Come puoi notare, sono richiesti due argomenti. Hanno i nomi string e search_string, ma questo non significa che devi digitare la parola esatta "string" e "search_string" nella funzione. Questi sono solo i nomi degli 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 viene visualizzata la parola "fantastico", questa funzione restituisce il risultato Yes. In caso contrario, restituisce il risultato No.

Puoi inserire le funzioni all'interno di altre funzioni per gestire la logica complessa. 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 si trova a sua volta all'interno di una funzione contains. Funziona così:

  1. La funzione is_null() verifica il testo del feedback del cliente.
  2. Successivamente, la funzione if() utilizza il risultato e restituisce l'eventuale testo del feedback del cliente, altrimenti restituisce il testo del commento del cliente.
  3. Infine, la funzione contains() utilizza il testo restituito dalla funzione if() 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 "grandioso" ".