Espressioni filtro Looker

Le espressioni di filtro sono un modo avanzato per filtrare le query di Looker e in questa pagina viene descritto come scriverle. Nella sezione Explore (Esplora) di Looker puoi utilizzare questi filtri aggiungendo un filtro e scegliendo l'opzione matchs (avanzate). Sono utilizzate anche in LookML per gli elementi che utilizzano un parametro filter.

Quando utilizzi espressioni di filtro in LookML, devi inserire l'espressione tra virgolette (consulta la pagina della documentazione di filters per un corretto utilizzo). Questo è particolarmente importante per i valori logici come NULL.

Quando utilizzi espressioni di filtro nella sezione Explore (Esplora) di Looker, non è necessario inserire l'espressione tra virgolette.

Le espressioni di filtro non sono supportate con concessioni di accesso. Per ulteriori informazioni, consulta la pagina della documentazione relativa a access_grant.

Stringa

Le corrispondenze nei filtri delle stringhe dipendono dall'impostazione di case_sensitive nel file del modello e dal fatto che il dialetto supporti la sensibilità alle maiuscole. Ad esempio, se case_sensitive è abilitato nel tuo modello, l'espressione FOO non corrisponderà alla parola "quot;cibo". Se case_sensitive non è attivato o se il dialetto non supporta la sensibilità alle maiuscole, l'espressione FOO corrisponderà alla parola "cibo".

Esempio Descrizione
FOO è uguale a "FOO", esattamente
FOO,BAR è uguale a "FOO" o "BAR", esattamente
%FOO% contiene "FOO", corrisponde a "buffoon" e "fast food"
FOO% inizia con "FOO", corrisponde a "foolish" e "food" ma non "buffoon" o "fast food"
%FOO termina con "FOO", corrispondono a "buffoo" e "fast foo" ma non "buffoon" o "fast food"
F%OD inizia con un "F" e termina con un "OD", corrisponde a "fast food"
EMPTY La stringa è vuota (è composta da zero caratteri) o è nulla (nessun valore)
NULL Il valore è null (quando viene utilizzato come parte di un'espressione di filtro LookML, inserisci NULL tra virgolette, come illustrato nella pagina della documentazione filters)
-FOO non è uguale a "FOO" (è qualsiasi valore tranne "FOO";{/1}
-FOO,-BAR non è uguale a "FOO" o "BAR", corrisponde a qualsiasi valore tranne "FOO"; e "BAR".
-%FOO% non contiene "FOO", non corrisponde a "buffoon" o "fast food"
-FOO% non inizia con "FOO", non corrisponde a "foolish" o "food"
-%FOO non termina con "FOO", non corrisponde a "buffoo" o "fast foo"
-EMPTY stringa non è vuota (contiene almeno un carattere)
-NULL il valore della colonna non è null (quando viene utilizzato come parte di un'espressione di filtro LookML, inserisci -NULL tra virgolette, come illustrato nella pagina della documentazione filters)
FOO%,BAR inizia con "FOO" o è "BAR" esattamente, corrisponde a "cibo" e corrisponde a "bar" ma non "barfood"
FOO%,-FOOD inizia con "FOO" ma non è "FOOD"
_UF ha un singolo carattere seguito da "UF", le corrispondenze "buffoon"

Includere caratteri speciali nei filtri delle stringhe

Tieni presente queste regole per includere i caratteri speciali nei filtri delle stringhe:

  • Per includere ", % o _, aggiungi il prefisso ^ al carattere di escape. Ad esempio: ^", ^% e ^_
  • Per includere un elemento - iniziale, esegui l'escape come ^-. Si rende necessario solo se - è il carattere iniziale; non è necessario eseguire l'escape di - se è all'interno della stringa.
  • Per includere ^, esegui l'escape come ^^.
  • Per includere una virgola in un normale filtro della stringa dell'interfaccia utente, aggiungi la barra rovesciata come prefisso alla virgola, \`. For example:Santa Cruz\, CA`.
  • Per includere una virgola con l'opzione corrisponde (avanzata) in un filtro, anteponi la virgola al carattere di interpretazione letterale ^. Ad esempio: Santa Cruz^, CA.
  • Per includere una virgola in un'espressione di filtro in LookML, aggiungi un prefisso con il carattere di escape ^. Ad esempio:
      field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

A volte puoi anche eseguire l'escape o includere caratteri speciali nei filtri di stringhe quando utilizzi tutorial personalizzati per contenuti Looker. Per ulteriori informazioni, consulta la sezione Aspetti da considerare per il collegamento ai contenuti di Looker nella pagina del parametro Link.

Data e ora

I filtri delle date di Looker consentono di utilizzare frasi in inglese anziché le funzioni di data SQL.

Struttura di base dei filtri di data e ora

Per i seguenti esempi:

  • {n} è un numero intero.
  • {interval} è un incremento di tempo, ad esempio ore, giorni, settimane o mesi.

    La frase che utilizzi determina se {interval} includerà periodi di tempo parziali o solo completi. Ad esempio, l'espressione 3 days include il giorno parziale corrente e i due giorni precedenti. L'espressione 3 days ago for 3 days include i tre giorni completi precedenti ed esclude il giorno parziale corrente. Per ulteriori informazioni, consulta la sezione Date relative.

  • {time} può specificare un orario nel formato AAAA-MM-GG HH:MM:SS o AAAA/MM/GG HH:MM:SS o una data nel formato AAAA-MM-GG o AAAA/MM/GG. Quando utilizzi il modulo AAAA-MM-GG, assicurati di includere entrambe le cifre del mese e del giorno, ad esempio 2016-01. Il troncamento di un mese o giorno a una sola cifra viene interpretato come offset, non come data. Ad esempio, 2016-1 viene interpretato come 2016 meno un anno o 2015.

Queste sono tutte le possibili combinazioni di filtri di data:

Combinato Esempio Note
this {interval} this month Puoi utilizzare this week, this month, this quarter o this year. Tieni presente che this day non è supportato. Se vuoi ottenere i dati dal giorno corrente, puoi utilizzare today.
{n} {interval} 3 days
{n} {interval} ago 3 days ago
{n} {interval} ago for {n} {interval} 3 months ago for 2 days
before {n} {interval} ago before 3 days ago
before {time} before 2018-01-01 12:00:00 before non include il tempo specificato. L'espressione before 2018-01-01 restituirà dati a partire da tutte le date antecedenti al 1° novembre 2018, ma non a partire dal 1° novembre 2018.
after {time} after 2018-10-05 after include il tempo specificato. Quindi, l'espressione after 2018-10-05 restituirà i dati a partire dal 05/10/2018 e tutte le date dopo il 05/10/2018.
{time} to {time} 2018-05-18 12:00:00 to
2018-05-18 14:00:00
Il valore dell'ora iniziale è incluso. Il valore dell'ultimo orario non lo è. Quindi l'espressione 2018-05-18 12:00:00 to 2018-05-18 14:00:00 restituirà i dati con il tempo "2018-05-18 12:00:00" through "2018-05-18 13:59:59".
this {interval} to {interval} this year to second Viene utilizzato l'inizio di ogni intervallo. Ad esempio, l'espressione this year to second restituisce i dati dall'inizio dell'anno in cui la query viene eseguita fino all'inizio del secondo. this week to day restituisce i dati dall'inizio della settimana in cui la query viene eseguita fino all'inizio del giorno in cui viene eseguita.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday Se specifichi un giorno della settimana con un campo Data gruppo di dimensioni, viene restituita la data più recente che corrisponde al giorno della settimana specificato. Ad esempio, l'espressione Dimension Group Date matches (advanced) Monday restituisce il lunedì più recente.

In questo contesto puoi anche utilizzare {day of week} con le parole chiave before e after. Ad esempio, l'espressione Dimension Group Date matches (advanced) after Monday restituisce il lunedì più recente e tutto quello che segue il lunedì più recente. L'espressione Dimension Group Date matches (advanced) before Monday restituisce ogni giorno prima del lunedì più recente, ma non restituisce il lunedì più recente.

Specificando un giorno della settimana con il campo Giorno della settimana gruppo di dimensioni viene restituito ogni giorno che corrisponde al giorno della settimana specificato. Quindi l'espressione Dimension Group Day of Week matches (advanced) Monday restituisce ogni lunedì.
next {week, month, quarter, fiscal quarter, year, fiscal year} next week La parola chiave next è univoca in quanto richiede uno degli intervalli di cui sopra e non funziona con altri intervalli.
{n} {interval} from now 3 days from now
{n} {interval} from now for {n} {interval} 3 days from now for 2 weeks

I filtri per data possono essere combinati anche insieme:

  • Per ottenere la logica OR: digita più condizioni nello stesso filtro, separate da virgole. Ad esempio, today, 7 days ago significa"oggi o 7 giorni fa".
  • Per ottenere la logica di tipo AND: digita le condizioni una per una in più filtri di data o ora. Ad esempio, puoi inserire after 2014-01-01 in un filtro Data di creazione, quindi inserire before 2 days ago in un filtro Ora di creazione. Ciò significherebbe "1° gennaio 2014 e dopo, e prima di 2 giorni fa".

Date assolute

I filtri della data assoluta utilizzano valori di data specifici per generare risultati di query. utili per la creazione di query per intervalli di date specifici.

Esempio Descrizione
2018/05/29 il 29/05/2018
2018/05/10 for 3 days dal 10/05/2018 dalle 00:00:00 al 12/05/2018 23:59:59
after 2018/05/10 2022/05/10 00:00:00 e dopo
before 2018/05/10 prima del 10/05/2018 00:00:00
2018/05 nell'intero mese del 2018/05
2018/05 for 2 months negli ultimi mesi del 2018/05 e 2018/06
2018/05/10 05:00 for 5 hours dal 10/05/2018 dalle 05:00:00 al 10/05/2018 09:59:59
2018/05/10 for 5 months dal 10/05/2018 dalle 00:00:00 al 09/10/2018 alle 23:59:59
2018 intero anno 2018 (dal 01/01/2018 dalle 00:00:00 al 31/12/2018 23:59:59)
FY2018 l'intero anno fiscale a partire dal 2018 (se gli sviluppatori di Looker hanno specificato che l'anno fiscale inizia ad aprile, il valore è il 01/04/2018 dalle 00:00 al 31/03/2019)
FY2018-Q1 primo trimestre dell'anno fiscale a partire dal 2018 (se gli sviluppatori di Looker hanno specificato che l'anno fiscale inizia ad aprile, il periodo è compreso tra 2018/04/01 00:00:00 e 2018/06/30 23:59:59)

Date relative

I filtri della data relativa consentono di creare query con valori di data continuativi rispetto alla data corrente. utili per la creazione di query che si aggiornano ogni volta che esegui la query.

Per tutti gli esempi riportati di seguito, supponiamo che oggi sia venerdì 18/05/2018 alle ore 18:30:02. In Looker, le settimane iniziano il lunedì, a meno che non modifichi questa impostazione con week_start_day.

Secondi

Esempio Descrizione
1 second l'attuale secondo (18/05/2018 18:30:02)
60 seconds 60 secondi fa per 60 secondi (dal 18/05/2018 alle 18:29:02-2018/05/18 18:30:01)
60 seconds ago for 1 second 60 secondi fa per 1 secondo (2018/05/18 18:29:02)

Minuti

Esempio Descrizione
1 minute minuto corrente (dal 18/05/2018 dalle 18:30:00 alle 18:30:59)
60 minutes 60 minuti fa per 60 minuti (dal 18/05/2018 alle 17:31:00-2018/05/18 18:30:59)
60 minutes ago for 1 minute 60 minuti fa per 1 minuto (2018/05/18 17:30:00-2018/05/18 17:30:59)

Orari

Esempio Descrizione
1 hour l'ora corrente (dal 18/05/2018 alle 18:00 fino al 18/05/2018 alle 18:59)
24 hours la stessa ora del giorno che è stata 24 ore fa per 24 ore (2018/05/17 19:00-2018/05/18 18:59)
24 hours ago for 1 hour la stessa ora del giorno che è stata 24 ore fa per 1 ora (dal 17/05/2018 alle 18:00 fino al 17/05/2018)

Giorni

Esempio Descrizione
today il giorno corrente (2018/05/18 00:00-2018/05/18 23:59)
2 days tutti ieri e oggi (dal 17/05/2018 alle 00:00 fino al 18/05/2018 alle 23:59)
1 day ago solo ieri (2018/05/17 00:00 fino a 2018/05/17 23:59)
7 days ago for 7 days gli ultimi 7 giorni completi (01/05/2018 dalle 00:00 alle 23:59/15/2018)
today for 7 days il giorno corrente, a partire da mezzanotte, per 7 giorni nel futuro (08/05/2018 dalle 00:00 alle 23:59 del 24/05/2018)
last 3 days 2 giorni fa fino alla fine della giornata corrente (dal 16/05/2018 alle 00:00 fino al 18/05/2018 alle 23:59)
7 days from now 7 giorni dopo (il 25/05/2018 dalle 00:00 alle 23:59 del 25/05/2018)

Settimane

Esempio Descrizione
1 week parte superiore della settimana corrente in futuro (dal 14/05/2018 dalle 00:00 al 20/05/2018 alle 23:59)
this week parte superiore della settimana corrente in futuro (dal 14/05/2018 dalle 00:00 al 20/05/2018 alle 23:59)
before this week in qualsiasi momento fino alla parte superiore di questa settimana (prima del 14/05/2018 alle 00:00)
after this week in qualsiasi momento dopo la parte superiore di questa settimana (14/05/2018 alle ore 00:00 e successive)
next week Il prossimo lunedì in avanti 1 settimana (2018/05/21 00:00-2018/05/27 23:59)
2 weeks una settimana fa lunedì in futuro (07/05/2018 dalle ore 00:00 alle ore 23:59/2018/2018)
last week sinonimo di "1 settimana fa"
1 week ago una settimana fa lunedì che avanza 1 settimana (dal 07/05/2018 alle 00:00-2018/03/13 23:59)

Mesi

Esempio Descrizione
1 month il mese in corso (01/05/2018 dalle ore 00:00 alle ore 23:59 del 31/05/2018)
this month sinonimo di "0 mesi fa" (2018/05/01 00:00 fino al 2018/05/31 23:59)
2 months negli ultimi due mesi (dal 01/04/2018 dalle 00:00 al 31/05/2018 alle 23:59)
last month tutto il 2018/04
2 months ago tutto il 2018/03
before 2 months ago sempre prima del 01/03/2018
next month tutto il 2018/06
2 months from now tutto il 2018/07
6 months from now for 3 months dal 11/11 al 1/01/2019

Trimestri

Esempio Descrizione
1 quarter trimestre in corso (01/04/2018 dalle 00:00 alle 23:59 del 30/06/2018)
this quarter sinonimo di "0 trimestri fa" (2018/04/01 00:00 fino al 2018/06/30 23:59)
2 quarters gli ultimi due trimestri (01/01/2018 dalle 00:00 al 30/06/2018 alle 23:59)
last quarter tutti il 1° trimestre (01/01/2018 dalle 00:00 alle 23:59 del 31/03/2018)
2 quarters ago tutto il quarto trimestre dell'anno scorso (01/01/2017 dalle 00:00 al 31/12/2017 23:59)
before 2 quarters ago dall'inizio del quarto trimestre dell'anno scorso
next quarter tutti i trimestri successivi (01/07/2018 dalle 00:00 alle 23:59/09/2018)
2018-07-01 for 1 quarter tutti il 3° trimestre (01/07/2018 dalle 00:00 alle 23:59 del 30/09/2018)
2018-Q4 tutti il 4° trimestre (01/10/2018 dalle 00:00 alle 23:59 del 31/12/2018)

Se i tuoi sviluppatori di Looker hanno specificato utilizzando un anno fiscale, puoi digitare fiscal in queste espressioni per utilizzare un trimestre fiscale anziché un trimestre solare. Ad esempio, puoi utilizzare last fiscal quarter.

Anni

Esempio Descrizione
1 year tutto l'anno in corso (01/01/2018 dalle 00:00 alle 23:59 del 31/12/2018)
this year tutto l'anno in corso (01/01/2018 dalle 00:00 alle 23:59 del 31/12/2018)
next year tutto l'anno successivo (01/01/2019 dalle 00:00 al 31/12/2019 23:59)
2 years gli ultimi due anni (dal 01/01/2017 dalle 00:00 al 31/12/2018 alle 23:59)
last year tutto il 2017
2 years ago tutto il 2016
before 2 years ago tutto il periodo precedente al 01/01/2016 (non include i giorni compresi tra il 01/01/2016 e il 18/05/2016)

Se i tuoi sviluppatori di Looker hanno specificato utilizzando un anno fiscale, puoi digitare fiscal in queste espressioni per utilizzare un anno fiscale anziché un trimestre. Ad esempio, puoi utilizzare last fiscal year.

Booleano

Per filtrare i valori di tipo vero o falso in Looker è necessario sapere con quale tipo di valore vero o falso stai interagendo.

Esempio Descrizione
yes o Yes restituisce un valore true

Sviluppatori Looker: per le dimensioni type: yesno utilizza le lettere minuscole, mentre per i parametri filters (ad es. quelli utilizzati in una misura o utilizzati in un always_filter) utilizza le maiuscole
no o No Il campo restituisce un valore falso

Sviluppatori di Looker: per le dimensioni type: yesno utilizza lettere minuscole, per i parametri filters (come quelli utilizzati in una misura o utilizzati in un always_filter) utilizza lettere maiuscole
TRUE campo contiene true (per i campi che contengono valori di database booleani)
FALSE Il campo contiene false (per i campi che contengono valori di database booleani)

Numero

I filtri sui numeri supportano sia le espressioni in linguaggio naturale (ad esempio 3 to 10) sia gli operatori relazionali (ad esempio >20). Looker supporta l'operatore OR per esprimere più intervalli di filtri (ad esempio 3 to 10 OR 30 to 100). L'operatore AND può essere utilizzato per esprimere intervalli numerici con operatori relazionali (ad esempio >=3 AND <=10) per specificare un intervallo. I filtri sui numeri possono anche utilizzare la notazione dell'intervallo algebrico per filtrare i campi numerici.

La sintassi delle espressioni numeriche di filtro che utilizzano NOT potrebbe non essere intuitiva. Gli esempi riportati di seguito mostrano come utilizzarlo.

Esempio Descrizione
5 è esattamente 5
NOT 5
<>5
!=5
è qualsiasi valore tranne 5
1, 3, 5, 7 è uno dei valori 1, 3, 5 o 7, esattamente
NOT 66, 99, 4 non è uno dei valori 66, 99 o 4, esattamente
1, NOT 2 non è né 1 né 2
1, NOT 2, >100 non è né 1, né 2, né maggiore di 100
5, NOT 6, NOT 7 è 5, non è 6 o 7
5.5 to 10
>=5.5 AND <=10
è 5,5 o superiore ma anche 10 o meno
NOT 3 to 80.44
<3 OR >80.44
è inferiore a 3 o maggiore di 80,44
1 to
>=1
è 1 o superiore
to 10
<=10
è 10 o meno
>10 AND <=20 OR 90 è maggiore di 10 e minore o uguale a 20, oppure è esattamente 90
>=50 AND <=100 OR >=500 AND <=1000 è compresa tra 50 e 100, inclusi, o tra 500 e 1000, inclusi
NULL non contiene dati (quando è utilizzato come parte di un'espressione di filtro LookML, inserisci NULL tra virgolette, come illustrato nella pagina della documentazione filters)
NOT NULL contiene alcuni dati (quando viene utilizzato come parte di un'espressione di filtro LookML, inserisci NOT NULL tra virgolette, come illustrato nella pagina della documentazione filters)
(1, 7) interpretato come 1 < x < 7 dove gli endpoint non sono inclusi. Sebbene questa notazione assomigli a una coppia ordinata, in questo contesto si riferisce all'intervallo su cui stai lavorando.
[5, 90] interpretato come 5 <= x <= 90 dove sono inclusi gli endpoint
(12, 20] interpretato come 12 < x <= 20 dove 12 non è incluso, ma 20 è incluso
[12, 20) interpretato come 12 <= x < 20 dove 12 è incluso, ma 20 non è incluso
(500, inf) interpretato come x > 500 dove 500 non è incluso e l'infinito è sempre espresso come "open" (non incluso). inf può essere omesso e il testo sopra riportato potrebbe essere scritto come (500,)
(-inf, 10] interpretato come x <= 10 dove 10 è incluso e l'infinito è sempre espresso come "open" (non incluso). inf può essere omesso e il testo sopra riportato potrebbe essere scritto come (,10]
[0,9],[20,29] i numeri da 0 a 9 (inclusi) o da 20 a 29 (inclusi)
[0,10],20 Da 0 a 10 inclusi o 20
NOT (3,12) Interpretato come x < 3 e x > 12
NOT 10,[1,5) tutti i numeri tranne 10 e tranne 1 fino a 5 esclusi

Posizione

Le espressioni di filtro della località si basano sulla latitudine e sulla longitudine, ma possono accettare un linguaggio naturale per definire caselle e cerchi all'interno dei quali limitare una ricerca.

Esempio Descrizione
36.97, -122.03 la posizione è esattamente a latitudine 36,97, longitudine 122,03
40 miles from 36.97, -122.03 la posizione si trova entro 40 miglia dalla latitudine 36,97, longitudine -122,03
inside box from 72.33, -173.14 to 14.39, -61.70 la posizione è all'interno di una casella il cui angolo nord-ovest è alla latitudine 72.33, longitudine -173.14 e il cui angolo sud-est è alla latitudine 14.39, longitudine -61.70.
NOT NULL (works the same as -NULL) la località ha una latitudine non null e una longitudine non null (se è utilizzata come parte di un'espressione di filtro LookML, inserisci NOT NULL tra virgolette, come illustrato nella pagina della documentazione filters)
-NULL (works the same as NOT NULL) la località ha una latitudine non null e una longitudine non null (se è utilizzata come parte di un'espressione di filtro LookML, inserisci -NULL tra virgolette, come illustrato nella pagina della documentazione filters)
NULL la posizione ha una latitudine o una longitudine null, oppure entrambe sono null (quando viene utilizzato come parte di un'espressione di filtro LookML, inserisci NULL tra virgolette, come illustrato nella pagina della documentazione filters)

Unità di misura supportate

Per filtrare in una zona intorno a una determinata località, puoi utilizzare queste unità:

  • Metri
  • Piedi
  • Chilometri
  • Km

Le singole unità di misura non sono supportate. Ad esempio, il filtro per un raggio di un chilometro deve essere scritto within 1 miles of 36.97, -122.03.

Valori degli attributi utente

Per utilizzare il valore di un attributo utente in un'espressione di filtro, fai riferimento all'attributo utente con la variabile Liquid di _user_attributes:

{{ _user_attributes['name_of_attribute'] }}

Ad esempio, supponi di dover applicare un prefisso sf_ al valore dell'attributo utente salesforce_username perché è il modo in cui i valori vengono memorizzati nel tuo database. Per aggiungere il prefisso al valore dell'attributo utente, puoi aggiungere un filtro corrisponde a (avanzato) nel campo pertinente e utilizzare la variabile Liquid di _user_attributes nell'espressione di filtro come segue:


sf_{{_user_attributes['salesforce_username']}}

Puoi utilizzare lo stesso pattern per inserire gli attributi utente nei filtri e nei filtri degli elementi della dashboard LookML.