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
Esempio | Descrizione |
---|---|
FOO |
è uguale a "FOO", esattamente |
FOO,BAR |
è uguale a "FOO" o "BAR", esattamente |
%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 una "F" e termina con "OD", corrisponde a "fast food" |
EMPTY |
la stringa è vuota (contiene zero caratteri) o è nulla (nessun valore) |
NULL |
il valore è nullo (se utilizzato come parte di un'espressione di filtro LookML, inserisci NULL tra virgolette, come mostrato nella pagina della documentazione 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 solo 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^-
. Questa operazione è necessaria solo se-
è il carattere iniziale. non devi eseguire l'escape di-
se si trova all'interno della stringa. - Per includere
^
, utilizza il carattere di escape^^
. - Per includere una virgola in un normale filtro di stringa dell'interfaccia utente, fai precedere la virgola da una barra rovesciata,
\
. Ad esempio:Santa Cruz\, CA
. - Per includere una virgola con l'opzione corrisponde (avanzata) in un filtro, fai precedere la virgola dal 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
L'applicazione di filtri delle date di Looker consente di utilizzare frasi in inglese al posto delle funzioni di data SQL.
Struttura di base dei filtri per 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'espressione3 days
include il giorno corrente parziale e i due giorni precedenti. L'espressione3 days ago for 3 days
include i tre giorni completi precedenti ed esclude il giorno parziale attuale. Consulta la sezione Date relative per ulteriori informazioni.{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 la funzionalità this day non è supportata. 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 il tempo specificato. 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 il tempo specificato. 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, mentre l'ultimo valore non lo è. 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 del secondo secondo in cui la query viene eseguita. this week to day restituisce i dati dall'inizio della settimana in cui viene eseguita la query 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 il campo Data gruppo 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 ciò 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.Se specifichi un giorno della settimana con un campo Giorno della settimana del gruppo di dimensioni, vengono restituiti tutti i giorni che corrispondono 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 per data possono anche essere combinati 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 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, quindi inserirebefore 2 days ago
in un filtro Ora di creazione. L'URL corrisponde a "1° gennaio 2014 e successivi e prima di 2 giorni fa".
Date assolute
I filtri delle date assolute utilizzano i valori di data specifici per generare i risultati della query. Sono utili quando crei query per intervalli di date specifici.
Esempio | Descrizione |
---|---|
2018/05/29 |
qualche volta il 29/05/2018 |
2018/05/10 for 3 days |
dal 10/05/2018 00:00:00 al 12/05/2018 alle 23:59:59 |
after 2018/05/10 |
10/05/2018 00:00:00 e successive |
before 2018/05/10 |
prima 2018/05/10 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 10/05/2018 alle 09:59:59 |
2018/05/10 for 5 months |
dal 10/05/2018 00:00:00 al 09/10/2018 23:59:59 |
2018 |
per l'intero anno 2018 (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 che inizia nel 2018 (se gli sviluppatori Looker hanno specificato che il tuo anno fiscale inizia ad aprile, il valore va dal 1° aprile 2018 alle ore 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 quando si creano query che si aggiornano ogni volta che vengono eseguite.
Per tutti gli esempi seguenti, supponiamo che la data odierna 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 (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 (18/05/2018 18:30:00 attraverso 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 precedente 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 (17/05/2018 18:00 fino al 17/05/2018 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 (18/05/2018 00:00 fino a 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 (2018/05/18 00:00 fino 25/05/2018 23:59) |
Settimane
Esempio | Descrizione |
---|---|
1 week |
parte superiore della settimana corrente in futuro (2018/05/14 00:00 a 2018/05/20 23:59) |
this week |
parte superiore della settimana corrente in futuro (2018/05/14 00:00 a 2018/05/20 23:59) |
before this week |
in qualsiasi momento fino all'inizio di questa settimana (prima del 14/05/2018 00:00) |
after this week |
in qualsiasi momento dopo l'inizio di questa settimana (2018/05/14 00:00 e successivi) |
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 |
una settimana fa Lunedì in futuro (07/05/2018 00:00 a 20/05/2018 23:59) |
last week |
sinonimo di "1 settimana fa" |
1 week ago |
una settimana fa Lunedì andrà avanti 1 settimana (07/05/2018 00:00 al 13/05/2018 23:59) |
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 |
ultimi due mesi (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 |
degli 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 (01/010/2017 dalle 00:00 alle 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 (01/07/2018 00:00 al 30/09/2018 23:59) |
2018-07-01 for 1 quarter |
tutto il trimestre 3 (01/07/2018 dalle 00:00 alle 23:59 del 30/09/2018) |
2018-Q4 |
tutto il quarto trimestre (01/10/2018 dalle 00:00 alle 23:59 del 31/12/2018) |
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 |
tutto l’anno successivo (01/01/2019 00:00 al 31/12/2019 23:59) |
2 years |
ultimi due anni (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 |
il campo restituisce true
Sviluppatori Looker: per le dimensioni type: yesno usare le lettere minuscole, per i parametri filters (come quelli utilizzati in una misura o utilizzati in un always_filter ) usare le lettere maiuscole. |
no o No |
il campo restituisce un valore false
Sviluppatori di Looker: per le dimensioni type: yesno utilizza le lettere minuscole, per i parametri filters (ad esempio quelli utilizzati in una misura o in un always_filter ) utilizza le lettere maiuscole |
TRUE |
Il campo contiene true (per i campi che contengono valori di database booleani) |
FALSE |
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 filtro (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 algebrica dell'intervallo per filtrare i campi numerici.
Esempio | Descrizione |
---|---|
5 |
è esattamente 5 |
NOT 5
<>5
!=5 |
è qualsiasi valore diverso da 5 |
1, 3, 5, 7 |
è uno dei valori 1, 3, 5 o 7, |
NOT 66, 99, 4 |
non è 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 |
è 5,5 o superiore, ma anche 10 o inferiore |
NOT 3 to 80.44
<3 OR >80.44 |
è minore di 3 o maggiore di 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 LookML, inserisci NOT NULL tra virgolette, come mostrato nella pagina di 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 estremi |
(12, 20] |
interpretabile come 12 < x <= 20 dove 12 non è incluso, ma 20 è incluso |
[12, 20) |
interpretabile come 12 <= x < 20 dove 12 è incluso, ma 20 non è incluso |
(500, inf) |
interpretata come x > 500 dove 500 non è incluso e 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 di filtro per località si basano su latitudine e longitudine, ma possono accettare un 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 posizione è entro 40 miglia di latitudine 36,97, longitudine -122,03 |
inside box from 72.33, -173.14 to 14.39, -61.70 |
La posizione è all'interno di un riquadro il cui angolo nord-ovest è a latitudine 72,33, longitudine -173,14 e il cui angolo a sud-est è a latitudine 14,39, 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 utilizzato 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 nulla, una longitudine nulla o entrambi sono nulli (se viene utilizzato come parte di un'espressione di filtro LookML, inserisci NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
Unità di misura supportate
Per filtrare i dati di un'area attorno a una determinata località, puoi utilizzare queste unità:
- Metri
- Piedi
- Chilometri
- Miglia
Le unità di misura singolari non sono supportate. Ad esempio, per applicare un filtro a un raggio di un miglio dovrebbe 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 _user_attributes
utilizzando la sintassi richiesta dal dialetto del tuo 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 tuo database. Per aggiungere il prefisso al valore dell'attributo utente, puoi aggiungere un filtro corrisponde (avanzato) nel campo pertinente e utilizzare la variabile Liquid _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 della dashboard e nei filtri degli elementi della dashboard LookML.