Espressioni di filtro di Looker

Le espressioni di filtro sono un modo avanzato per filtrare le query di Looker e questa pagina descrive come scriverle. Nella sezione Esplora di Looker puoi utilizzarli aggiungendo un filtro e scegliendo l'opzione Corrispondenze (avanzate). Vengono utilizzati anche in LookML per gli elementi che accettano un parametro filter.

Stringa

FOO%
Esempio Descrizione
FOO è esattamente uguale a "FOO"
FOO,BAR è esattamente uguale a "FOO" o "BAR"
%FOO% Contiene "FOO", corrisponde a "buffone" e "fast food"
FOO% Inizia con "FOO", corrisponde a "foolish" e "food", ma non a "buffoon" o "fast food"
%FOO termina con "FOO", corrisponde a "buffoo" e "fast foo", ma non a "buffoon" o "fast food"
F%OD Inizia con "F" e termina con "OD", corrisponde a "fast food"
EMPTY La stringa è vuota (non contiene caratteri) o è null (nessun valore)
NULL il valore è nullo (se utilizzato all'interno di un'espressione di filtro LookML, inserisci NULL tra virgolette, come mostrato nella pagina di documentazione di filters)
-FOO non è uguale a "FOO" (è un valore qualsiasi tranne "FOO"), corrisponde a "pizza", "immondizia", "divertente", ma non a "foo"
-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 La stringa non è vuota (contiene almeno un carattere)
-NULL il valore della colonna non è nullo (se viene utilizzato all'interno di un'espressione di filtro LookML, inserisci -NULL tra virgolette, come mostrato nella pagina di documentazione di filters)
FOO%,BAR Inizia con "FOO" o corrisponde esattamente a "BAR", corrisponde a "food" e a "bar", ma non a "barfood"
FOO%,-FOOD inizia con "FOO", ma non è "FOOD"
_UF contiene un singolo carattere seguito da "UF", corrisponde a "buffoon"

Inclusione di caratteri speciali nei filtri di stringa

Tieni presente queste regole per includere caratteri speciali nei filtri di stringa:

  • Per includere ", % o _, anteponi il carattere di escape ^. Ad esempio: ^", ^% e ^_
  • Per includere un - iniziale, inseriscilo come ^-. Questo è necessario solo se - è il carattere iniziale; non è necessario eseguire l'escape di - se si trova all'interno della stringa.
  • Per includere ^, inserisci ^^.
  • Per includere una virgola in un normale filtro di stringa dell'interfaccia utente, anteponi alla virgola il carattere barra rovesciata, \. Ad esempio: Santa Cruz\, CA.
  • Per includere una virgola con l'opzione corrispondenze (avanzate) in un filtro, anteponi alla virgola il carattere di escape ^. Ad esempio: Santa Cruz^, CA.
  • Per includere una virgola in un'espressione di filtro in LookML, anteponi il carattere di escape ^. Ad esempio:
  field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

Data e ora

Il filtro delle date di Looker consente di utilizzare frasi in inglese anziché 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 formulazione utilizzata determina se {interval} includerà periodi di tempo parziali o solo periodi di tempo completi. Ad esempio, l'espressione 3 days include il giorno corrente parziale 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'ora nel formato AAAA-MM-GG HH:MM:SS o AAAA/MM/GG HH:MM:SS oppure una data nel formato AAAA-MM-GG o AAAA/MM/GG. Quando utilizzi il formato AAAA-MM-GG, assicurati di includere entrambe le cifre per il mese e il giorno, ad esempio 2016-01. L'abbreviazione di un mese o di un giorno a una sola cifra viene interpretata come un offset, non come una data. Ad esempio, 2016-1 viene interpretato come 2016 meno un anno, ovvero 2015.

Queste sono tutte le possibili combinazioni di filtri della data:

Combinazione 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 del 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 l'ora specificata. L'espressione before 2018-01-01 restituirà i dati di tutte le date precedenti al 01-01-2018, ma non restituirà i dati del 01-01-2018.
after {time} after 2018-10-05 after include l'ora specificata. Pertanto, l'espressione after 2018-10-05 restituirà i dati dal 05/10/2018 e da tutte le date successive al 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, ma non il valore dell'ora finale. Pertanto, l'espressione 2018-05-18 12:00:00 to 2018-05-18 14:00:00 restituirà i dati con l'ora "2018-05-18 12:00:00" fino a "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 viene eseguita la query fino all'inizio dell'anno successivo. this week to day restituisce i dati dall'inizio della settimana in cui viene eseguita la query all'inizio del giorno in cui viene eseguita la query.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday La specifica di un giorno della settimana con un campo Data gruppo di dimensioni restituisce la data più recente corrispondente 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 ciò che segue. L'espressione Dimension Group Date matches (advanced) before Monday restituisce ogni giorno prima del lunedì più recente, ma non restituisce il lunedì più recente.

La specifica di un giorno della settimana con un campo Gruppo di dimensioni Giorno della settimana restituisce tutti i giorni corrispondenti al giorno della settimana specificato. Pertanto, 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 è unica in quanto richiede uno degli intervalli elencati in precedenza 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 data possono anche essere combinati tra loro:

  • 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 applicare la logica AND: digita le condizioni, una alla volta, in più filtri di data o ora. Ad esempio, puoi inserire after 2014-01-01 in un filtro Data di creazione e before 2 days ago in un filtro Ora di creazione. Ciò significa "1° gennaio 2014 e date successive, prima di 2 giorni fa".

Date assolute

I filtri delle date assolute utilizzano i valori delle date specifici per generare i risultati della query. Sono utili per creare query per intervalli di date specifici.

Esempio Descrizione
2018/05/29 in data 29/05/2018
2018/05/10 for 3 days dal 10/05/2018 00:00:00 al 12/05/2018 23:59:59
after 2018/05/10 Dal 10/05/2018 00:00:00
before 2018/05/10 prima del 10/05/2018 00:00:00
2018/05 nell'intero mese di 05/2018
2018/05 for 2 months durante i mesi di maggio e giugno 2018
2018/05/10 05:00 for 5 hours dalle 05:00:00 del 10/05/2018 alle 09:59:59 del 10/05/2018
2018/05/10 for 5 months dal 10/05/2018 00:00:00 al 09/10/2018 23:59:59
2018 intero anno 2018 (dal 01/01/2018 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, si tratta del periodo compreso tra il 01/04/2018 00:00 e il 31/03/2019 23:59)
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 va dal 01/04/2018 00:00:00 al 30/06/2018 23:59:59)

Date relative

I filtri delle date relative ti consentono di creare query con valori di date continue relative alla data corrente. Sono utili per creare query che si aggiornano ogni volta che le esegui.

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

Secondi

Esempio Descrizione
1 second il secondo corrente (18/05/2018 18:30:02)
60 seconds 60 secondi fa per 60 secondi (dal 18/05/2018 18:29:02 al 18/05/2018 18:30:01)
60 seconds ago for 1 second 60 secondi fa per 1 secondo (18/05/2018 18:29:02)

Minuti

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

Ore

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

Giorni

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

Settimane

Esempio Descrizione
1 week dall'inizio della settimana corrente in poi (dalle 00:00 del 14/05/2018 alle 23:59 del 20/05/2018)
this week dall'inizio della settimana corrente in poi (dalle 00:00 del 14/05/2018 alle 23:59 del 20/05/2018)
before this week in qualsiasi momento fino alla fine della settimana (prima del 14/05/2018 alle 00:00)
after this week in qualsiasi momento dopo la fine di questa settimana (dal 14/05/2018 00:00 in poi)
next week il lunedì successivo e per una settimana (dalle 00:00 del 21/05/2018 alle 23:59 del 27/05/2018)
2 weeks a partire da lunedì di una settimana fa (07/05/2018 00:00 - 20/05/2018 23:59)
last week sinonimo di "1 settimana fa"
1 week ago una settimana fa lunedì e per una settimana (dalle 00:00 del 07/05/2018 alle 23:59 del 13/05/2018)

Mesi

Esempio Descrizione
1 month il mese corrente (dal 01/05/2018 00:00 al 31/05/2018 23:59)
this month sinonimo di "0 mesi fa" (dal 01/05/2018 00:00 al 31/05/2018 23:59)
2 months negli ultimi due mesi (dal 01/04/2018 00:00 al 31/05/2018 23:59)
last month tutto il mese di 04/2018
2 months ago tutto il mese di 03/2018
before 2 months ago Tutti i dati precedenti al 01/03/2018
next month tutto il mese di 06/2018
2 months from now tutto il mese di 07/2018
6 months from now for 3 months Da 11/2018 a 01/2019

Trimestri

Esempio Descrizione
1 quarter il trimestre corrente (dal 01/04/2018 00:00 al 30/06/2018 23:59)
this quarter sinonimo di "0 trimestri fa" (dal 01/04/2018 00:00 al 30/06/2018 23:59)
2 quarters negli ultimi due trimestri (dal 01/01/2018 00:00 al 30/06/2018 23:59)
last quarter Tutto il primo trimestre (dal 01/01/2018 00:00 al 31/03/2018 23:59)
2 quarters ago Tutto il quarto trimestre dell'anno scorso (dalle ore 00:00 del 01/10/2017 alle ore 23:59 del 31/12/2017)
before 2 quarters ago tutti i dati precedenti al quarto trimestre dello scorso anno
next quarter tutto il trimestre successivo (dal 01/07/2018 00:00 al 30/09/2018 23:59)
2018-07-01 for 1 quarter Tutto il terzo trimestre (dal 01/07/2018 00:00 al 30/09/2018 23:59)
2018-Q4 Tutto il quarto trimestre (dal 01/10/2018 00:00 al 31/12/2018 23:59)

Anni

Esempio Descrizione
1 year Tutto l'anno corrente (dal 01/01/2018 00:00 al 31/12/2018 23:59)
this year Tutto l'anno corrente (dal 01/01/2018 00:00 al 31/12/2018 23:59)
next year per tutto l'anno successivo (dalle 00:00 del 01/01/2019 alle 23:59 del 31/12/2019)
2 years negli ultimi due anni (dal 01/01/2017 00:00 al 31/12/2018 23:59)
last year tutto il 2017
2 years ago tutto il 2016
before 2 years ago Tutti i periodi precedenti al 01/01/2016 (non sono inclusi i giorni tra il 01/01/2016 e il 18/05/2016)

Booleano

Per filtrare in base a valori di tipo true o false in Looker, devi sapere con quale tipo di valore true o false stai interagendo.

Esempio Descrizione
yes o Yes campo restituisce true

Sviluppatori di Looker: per le dimensioni type: yesno usa le lettere minuscole, per i parametri filters (ad esempio quelli utilizzati in una misura o in un always_filter) usa le lettere maiuscole
no o No Il campo restituisce il valore false

Sviluppatori di Looker: per le dimensioni type: yesno usa le lettere minuscole, per i parametri filters (ad esempio quelli utilizzati in una misura o in un always_filter) usa le lettere maiuscole
TRUE Il 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 es. 3 to 10) sia gli operatori relazionali (ad es. >20). Looker supporta l'operatore OR per esprimere più intervalli di filtro (ad es. 3 to 10 OR 30 to 100). L'operatore AND può essere utilizzato per esprimere intervalli numerici con operatori relazionali (ad es. >=3 AND <=10) per specificare un intervallo. I filtri sui numeri possono utilizzare anche la notazione di intervallo algebrico per filtrare i campi numerici.

Esempio Descrizione
5 è esattamente 5
NOT 5

<>5

!=5
è qualsiasi valore diverso da 5
1, 3, 5, 7 è esattamente uno dei valori 1, 3, 5 o 7
NOT 66, 99, 4 non è esattamente uno dei valori 66, 99 o 4
>1 AND <100, NOT 2 è maggiore di 1 e minore di 100, non è 2
NOT >1, 2, <100 è minore o uguale a 1, non è 2 ed è maggiore o uguale a 100 (Looker riconosce che questa è una condizione impossibile e scriverà invece l'istruzione SQL "È NULL")
5, NOT 6, NOT 7 è 5, non è 6 o 7
5.5 to 10

>=5.5 AND <=10
sia pari o superiore a 5,5 sia pari o inferiore a 10
NOT 3 to 80.44

<3 OR >80.44
è inferiore a 3 o superiore a 80,44
1 to

>=1
sia pari o superiore a 1
to 10

<=10
sia pari o inferiore a 10
>10 AND <=20 OR 90 è maggiore di 10 e minore o uguale a 20 oppure è esattamente 90
>=50 AND <=100 OR >=500 AND <=1000 è compreso tra 50 e 100 oppure tra 500 e 1000
NULL non contiene dati (se viene utilizzato all'interno di un'espressione di filtro LookML, inserisci NULL tra virgolette, come mostrato nella pagina di documentazione di filters)
NOT NULL contenga alcuni dati (se viene utilizzato all'interno di un'espressione di filtro di LookML, inserisci NOT NULL tra virgolette, come mostrato nella pagina della documentazione di filters)
(1, 7) interpretato come 1 < x < 7, dove gli estremi 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 "aperto" (non incluso). inf può essere omesso e (500, inf) può essere scritto come (500,)
(-inf, 10] interpretato come x <= 10, dove 10 è incluso e l'infinito è sempre espresso come "aperto" (non incluso). inf può essere omesso e (-inf, 10] può essere scritto come (,10]
[0,9],[20,29] numeri compresi tra 0 e 9 inclusi o tra 20 e 29 inclusi
[0,10],20 Da 0 a 10 inclusi o 20
NOT (3,12) interpretato come x < 3 e x > 12

Località

Le espressioni del filtro posizione si basano su latitudine e longitudine, ma possono accettare un po' di linguaggio naturale per definire caselle e cerchi entro i quali limitare una ricerca.

Esempio Descrizione
36.97, -122.03 La posizione si trova esattamente alla latitudine 36,97 e alla longitudine 122,03
40 miles from 36.97, -122.03 La località si trova a meno di 64 km di latitudine 36,97 e longitudine -122,03
inside box from 72.33, -173.14 to 14.39, -61.70 La posizione si trova all'interno di un riquadro il cui angolo nord-ovest è alla latitudine 72,33 e alla longitudine -173,14 e il cui angolo sud-est è alla latitudine 14,39 e alla longitudine -61,70
NOT NULL (works the same as -NULL) location ha sia una latitudine che una longitudine non nulle (quando viene utilizzato all'interno di un'espressione di filtro LookML, inserisci NOT NULL tra virgolette, come mostrato nella pagina di documentazione di filters)
-NULL (works the same as NOT NULL) location ha sia una latitudine che una longitudine non nulle (quando viene utilizzata all'interno di un'espressione di filtro LookML, inserisci -NULL tra virgolette, come mostrato nella pagina di documentazione di filters)
NULL La località ha una latitudine o una longitudine nulle oppure entrambe sono nulle (quando viene utilizzata all'interno di un'espressione di filtro LookML, inserisci NULL tra virgolette, come mostrato nella pagina di documentazione di filters)

Unità di misura supportate

Per filtrare in un'area intorno a una determinata località, puoi utilizzare queste unità di misura:

  • Metri
  • Piedi
  • Chilometri
  • Miles

Le unità di misura singola non sono supportate. Ad esempio, per filtrare in base a un raggio di 1,6 km, devi scrivere 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 _user_attributes variabile Liquid utilizzando la sintassi richiesta dal dialetto del database:

{{ _user_attributes['name_of_attribute'] }}

Ad esempio, supponiamo che tu debba applicare un prefisso sf_ al valore dell'attributo utente salesforce_username perché è così che i valori vengono archiviati nel database. Per aggiungere il prefisso al valore dell'attributo utente, puoi aggiungere un filtro corrispondenze (avanzate) al campo pertinente e utilizzare la variabile Liquid _user_attributes nell'espressione del filtro come segue:


sf_{{_user_attributes['salesforce_username']}}

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