Le espressioni di filtro sono un modo avanzato per filtrare le query di Looker e in questa pagina viene descritto come scriverle. Nella sezione Esplora di Looker puoi utilizzarle aggiungendo un filtro e scegliendo l'opzione corrisponde a (avanzata). Vengono 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 (per un utilizzo corretto, consulta la pagina della documentazione
filters
). Ciò è particolarmente importante per i valori logici comeNULL
.Quando utilizzi espressioni di filtro nella sezione Esplora di Looker, non è necessario inserire le espressioni tra virgolette.
Le espressioni di filtro non sono supportate con concessioni di accesso. Per ulteriori informazioni, consulta la pagina della documentazione di
access_grant
.
Stringa
Le corrispondenze nei filtri delle stringhe dipendono dall'impostazione
case_sensitive
nel file del modello e dal fatto che il tuo dialetto supporti o meno la sensibilità alle maiuscole. Ad esempio, secase_sensitive
è abilitato nel modello, l'espressioneFOO
non corrisponde alla parola "cibo". Secase_sensitive
non è abilitato o se il dialetto non supporta la sensibilità alle maiuscole, l'espressioneFOO
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 "sciocco" e "cibo" ma non a "buffo" o "fast food" |
%FOO |
termina con "FOO", corrisponde a "buffoo" e "fast foo" ma non a "buffoon" o "fast food" |
F%OD |
inizia con la "F" e termina con "OD", corrisponde a "fast food" |
EMPTY |
La stringa è vuota (include zero caratteri) o è null (nessun valore) |
NULL |
Il valore è null (quando viene utilizzato come parte di un'espressione di filtro LookML, metti NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
-FOO |
non equivale a "FOO" (è qualsiasi valore tranne "FOO"), corrisponde a "pizza", "trash", "fun" 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 "sciocco" o "cibo" |
-%FOO |
non termina con "FOO", non corrisponde a "buffoo" o "fast foo" |
-EMPTY |
La stringa non è vuota (include almeno un carattere) |
-NULL |
Il valore della colonna non è null (se viene utilizzato come parte di un'espressione di filtro LookML, metti -NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
FOO%,BAR |
inizia con "FOO" o è "BAR" esattamente, corrisponde a "cibo" e corrisponde a "bar" ma non a "barfood" |
FOO%,-FOOD |
inizia con "FOO" ma non è "FOOD" |
_UF |
ha un solo carattere seguito da "UF", corrisponde a "buffo" |
Inclusione di caratteri speciali nei filtri stringa
Nota queste regole per l'inclusione di caratteri speciali nei filtri stringa:
- Per includere
"
,%
o_
, aggiungi un prefisso con il carattere di escape^
. Ad esempio:^"
,^%
e^_
- Per includere un elemento
-
iniziale, esegui l'escape come^-
. Questo è 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 stringa UI, anteponi la virgola a una barra rovesciata,
\`. For example:
Santa Cruz\, CA`. - Per includere una virgola con l'opzione corrisponde a (avanzata) in un filtro, anteponi la virgola al carattere di escape,
^
. 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"]
}
In alcuni casi è possibile che tu voglia utilizzare l'escape o includere caratteri speciali nei filtri stringa quando usi i trapani personalizzati per i contenuti di Looker. Per ulteriori informazioni, consulta la sezione Aspetti da considerare durante il collegamento ai contenuti di Looker nella pagina del parametro
Link
.
Data e ora
Il filtro della data di Looker consente di utilizzare frasi in inglese anziché le funzioni di data di SQL.
Struttura di base dei filtri di data e ora
Per i seguenti esempi:
{n}
è un numero intero.{interval}
è un incremento di tempo come ore, giorni, settimane o mesi.La frase utilizzata determina se
{interval}
includerà periodi di tempo parziali o solo completi. Ad esempio, l'espressione3 days
include il giorno parziale corrente e i due giorni precedenti. L'espressione3 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 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 per il mese e il giorno, ad esempio 2016-01. Il troncamento di un mese o di un giorno a una sola cifra viene interpretato come un offset, non come una data. Ad esempio, 2016-1 viene interpretato come 2016 meno un anno o 2015.
Queste sono tutte le possibili combinazioni di filtri di data:
Combinazione | Esempio | Note |
---|---|---|
this {interval} |
this month |
Puoi utilizzare this week , this month , this quarter o this year . Tieni presente che l'app this day non è supportata. Se vuoi ricevere 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à i dati relativi a tutte le date antecedenti il 1° gennaio 2018, ma non quelli del 1° gennaio 2018. |
after {time} |
after 2018-10-05 |
after include il tempo specificato. Pertanto, l'espressione after 2018-10-05 restituirà i dati a partire dal 05/10/2018 e 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 temporale iniziale è inclusivo. Il secondo valore di tempo non lo è. 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" and "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 in cui viene eseguita. this week to day restituisce i dati dall'inizio della settimana in cui viene eseguita alla query. |
{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 corrispondente al giorno della settimana specificato. Ad esempio, l'espressione Dimension Group Date matches (advanced) Monday restituisce il lunedì più recente.Puoi anche utilizzare {day of week} con le parole chiave before e after in questo contesto. 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 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 indicati 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 della 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 ottenere la logica AND: digita le condizioni, una per una, in più filtri di data o ora. Ad esempio, potresti inserire
after 2014-01-01
in un filtro Data di creazione, quindi inserirebefore 2 days ago
in un filtro Data di creazione. Questo significherebbe "1 gennaio 2014 e in seguito, e prima di due giorni fa".
Date assolute
I filtri della data assoluta utilizzano i valori della data specifici per generare risultati di query. Sono utili quando si creano query per intervalli di date specifici.
Esempio | Descrizione |
---|---|
2018/05/29 |
il 29/05/2018 |
2018/05/10 for 3 days |
dal 2018/05/10 00:00:00 al 2018/05/12 23:59:59 |
after 2018/05/10 |
10/05/2018 00:00:00 e dopo |
before 2018/05/10 |
prima del 10/05/2018 00:00:00 |
2018/05 |
nell'intero mese del 5/2018 |
2018/05 for 2 months |
negli ultimi mesi del 05/05 e del 06/2018 |
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 2018/05/10 00:00:00 al 2018/10/09 23:59:59 |
2018 |
intero anno del 2018 (01/01/2018 dalle 00:00:00 al 31/12/2018 23:59:59) |
FY2018 |
intero anno fiscale a partire dal 2018 (se gli sviluppatori di Looker hanno specificato che l'anno fiscale inizia ad aprile, questo è il periodo 00:00/01/2018 dal 31/04/2018 alle 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, questo è il 01/04/2018 dalle 00:00:00 al 30/06/2018; 23:59:59) |
Date relative
I filtri della data relativa consentono di creare query con valori di data mobili relativi alla data corrente. Sono utili quando si creano query che si aggiornano ogni volta che si esegue la query.
Per tutti gli esempi riportati di seguito, supponiamo che oggi sia 16/05/2018 alle 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 |
l'attuale secondo (18/05/2018 18:30:02) |
60 seconds |
60 secondi fa per 60 secondi (18/05/2018 18:29:02-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 |
l'ultimo minuto (18/05/2018 dalle 18:30:00 alle 18:30:59) |
60 minutes |
60 minuti fa per 60 minuti (18/05/2018 17:31:00-18/05/2018 18:30:59) |
60 minutes ago for 1 minute |
60 minuti fa per 1 minuto (18/05/2018 17:30:00-18/05/2018 17:30:59) |
Orari
Esempio | Descrizione |
---|---|
1 hour |
l'ora corrente (18/05/2018 dalle 18:00 al 18/05/2018 18:59) |
24 hours |
la stessa ora del giorno che era 24 ore fa per 24 ore (17/05/2018 dalle 19:00 al 18/05/2018 18:59) |
24 hours ago for 1 hour |
la stessa ora del giorno che era 24 ore fa per 1 ora (18/05/2018 18:00 fino al 17/05/2018 18:59) |
Giorni
Esempio | Descrizione |
---|---|
today |
il giorno corrente (18/05/2018 dalle 00:00 al 18/05/2018 23:59) |
2 days |
tutto ieri e oggi (17/05/2018 dalle 00:00 al 18/05/2018 23:59) |
1 day ago |
solo ieri (17/05/2018 00:00 fino al 17/05/2018 23:59) |
7 days ago for 7 days |
gli ultimi 7 giorni completi (11/05/2018 00:00 fino al 17/05/2018 23:59) |
today for 7 days |
il giorno corrente, a partire da mezzanotte, per 7 giorni nel futuro (2018/05/18 00:00 - 2018/05/24 23:59) |
last 3 days |
2 giorni fa fino alla fine del giorno corrente (16/05/2018 00:00 - 18/05/2018 23:59) |
7 days from now |
7 giorni nel futuro (2018/05/25 00:00 fino a 2018/05/25 23:59) |
Settimane
Esempio | Descrizione |
---|---|
1 week |
superiore della settimana corrente in futuro (14/05/2018 dalle 00:00 al 20/05/2018 23:59) |
this week |
superiore della settimana corrente in futuro (14/05/2018 dalle 00:00 al 20/05/2018 23:59) |
before this week |
in qualsiasi momento fino all'inizio di questa settimana (prima del 14/05/2018 alle 00:00) |
after this week |
in qualsiasi momento dopo l'inizio di questa settimana (14/05/2018 00:00 e successivi) |
next week |
il lunedì successivo in avanti 1 settimana (20/05/2018 dalle 00:00 al 27/05/2018 23:59) |
2 weeks |
una settimana fa lunedì in futuro (07/05/2018 dalle 00:00 al 20/05/2018 23:59) |
last week |
sinonimo di "1 settimana fa" |
1 week ago |
una settimana fa lunedì in avanti 1 settimana (07/05/2018 dalle 00:00 al 13/05/2018 23:59) |
Mesi
Esempio | Descrizione |
---|---|
1 month |
il mese in corso (01/05/2018 dalle 00:00 al 31/05/2018 23:59) |
this month |
sinonimo di "0 mesi fa" (01/05/2018 dalle 00:00 al 31/05/2018 23:59) |
2 months |
gli ultimi due mesi (01/04/2018 dalle 00:00 al 31/05/2018 23:59) |
last month |
tutto il 04/2018 |
2 months ago |
tutto il 03/03/2018 |
before 2 months ago |
dall'inizio del 1° gennaio 2018 |
next month |
tutto il 2018/06 |
2 months from now |
tutto il 2018/07 |
6 months from now for 3 months |
da 2018/11 a 2019/01 |
Trimestri
Esempio | Descrizione |
---|---|
1 quarter |
il trimestre in corso (01/04/2018 dalle 00:00 al 30/06/2018 23:59) |
this quarter |
sinonimo di "0 trimestri fa" (01/04/2018 dalle 00:00 al 30/06/2018 23:59) |
2 quarters |
gli ultimi due trimestri (01/01/2018 dalle 00:00 al 30/06/2018 23:59) |
last quarter |
tutto il primo trimestre (01/01/2018 dalle 00:00 al 31/03/2018 23:59) |
2 quarters ago |
tutto il quarto trimestre dell'anno scorso (01/010/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 il trimestre successivo (01/07/2018 dalle 00:00 al 30/09/2018 23:59) |
2018-07-01 for 1 quarter |
tutto il terzo trimestre (01/07/2018 dalle 00:00 al 30/09/2018 23:59) |
2018-Q4 |
tutti il quarto trimestre (01/10/2018 dalle 00:00 al 31/12/2018 23:59) |
Se i tuoi sviluppatori Looker hanno specificato un anno fiscale, puoi digitare
fiscal
in queste espressioni per utilizzare un trimestre fiscale anziché un trimestre. Ad esempio, puoi utilizzarelast fiscal quarter
.
Anni
Esempio | Descrizione |
---|---|
1 year |
tutto l'anno corrente (01/01/2018 dalle 00:00 al 31/12/2018 23:59) |
this year |
tutto l'anno corrente (01/01/2018 dalle 00:00 al 31/12/2018 23:59) |
next year |
tutto l'anno successivo (01/01/2019 dalle 00:00 al 31/12/2019 23:59) |
2 years |
gli ultimi due anni (01/01/2017 dalle 00:00 al 31/12/2018 23:59) |
last year |
tutto il 2017 |
2 years ago |
tutto il 2016 |
before 2 years ago |
dall'inizio del periodo 01/01/2016 (non include i giorni compresi tra il giorno 01/01/2016 e il giorno 18/05/2016) |
Se i tuoi sviluppatori Looker hanno specificato un anno fiscale, puoi digitare
fiscal
in queste espressioni per utilizzare un anno fiscale anziché un trimestre. Ad esempio, puoi utilizzarelast fiscal year
.
Booleano
Per filtrare i valori di tipo vero o falso in Looker, devi conoscere il tipo di valore vero o falso con cui interagisci.
Esempio | Descrizione |
---|---|
yes o Yes |
restituisce un valore true Sviluppatori di Looker: per le dimensioni type: yesno utilizza caratteri minuscoli, per i parametri filters (come quelli utilizzati in una misura o usati in un always_filter ) utilizza lettere maiuscole |
no o No |
Il campo restituisce un valore false Sviluppatori Looker: per le dimensioni type: yesno utilizza il minuscolo, mentre per i parametri filters (ad es. quelli utilizzati in una misura o usati in always_filter ) viene usato il carattere maiuscolo |
TRUE |
Il campo contiene true (per i campi che contengono valori booleani di database) |
FALSE |
Il campo contiene false (per i campi che contengono valori booleani di database) |
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 gli 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 per le espressioni numeriche di filtri che utilizzano
NOT
potrebbe non essere intuitiva. Se la prima condizione di filtro contiene un elementoNOT
e nessun'altra condizione di filtro contiene un elementoNOT
, tutte le condizioni di filtro verranno negate. Per saperne di più, vedi gli esempi riportati di seguito.
Esempio | Descrizione |
---|---|
5 |
è esattamente 5 |
NOT 5 |
è un valore qualsiasi, ma esattamente 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, <100 |
è maggiore di 1, non è 2 e è inferiore a 100 |
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'SQL 'IS NULL') |
5, NOT 6, NOT 7 |
è 5, non è 6 o 7 |
5.5 to 10 |
è 5,5 o superiore ma anche 10 o meno |
NOT 3 to 80.44 |
è minore di 3 o maggiore di 80,44 |
1 to |
è pari o superiore a 1 |
to 10 |
è pari o inferiore a 10 |
>10 AND <=20 OR 90 |
è maggiore di 10 e minore o uguale a 20, o è esattamente 90 |
>=50 AND <=100 OR >=500 AND <=1000 |
è compreso tra 50 e 100, inclusi o compresi tra 500 e 1000, inclusi |
NULL |
non contiene dati (se utilizzato come parte di un'espressione di filtro LookML, inserisci NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
NOT NULL |
contiene alcuni dati (se utilizzati come parte di un'espressione di filtro LookML, inserisci NOT NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
(1, 7) |
interpretata 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 a cui stai lavorando. |
[5, 90] |
interpretata come 5 <= x <= 90 in cui sono inclusi gli endpoint |
(12, 20] |
interpretata 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) |
come x > 500, dove 500 non è incluso e l'infinito è sempre espresso come "aperto" (non incluso). inf può essere omesso e quanto indicato sopra può essere scritto come (500,) |
(-inf, 10] |
interpretata come x <= 10 dove 10 è incluso e l'infinito è sempre espresso come "aperto" (non incluso). inf può essere omesso e quanto indicato sopra può essere scritto come (,10] |
[0,9],[20,29] |
i numeri compresi tra 0 e 9 inclusi o tra 20 e 29 inclusi |
[0,10],20 |
Da 0 a 10 compreso o 20 |
NOT (3,12) |
interpretata come x < 3 e x > 12 |
NOT 10,[1,5) |
tutti i numeri tranne 10 e tranne 1 fino a 5 esclusi |
Località
Le espressioni di filtri per località si basano sulla latitudine e sulla 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 è esattamente alla latitudine 36.97, longitudine 122.03 |
40 miles from 36.97, -122.03 |
la posizione 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 posizione ha una latitudine non null e una longitudine non null (se utilizzata come parte di un'espressione di filtro LookML, metti NOT NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
-NULL (works the same as NOT NULL) |
la posizione ha una latitudine non null e una longitudine non null (se utilizzata come parte di un'espressione di filtro LookML, metti -NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
NULL |
la posizione ha una latitudine o una longitudine null oppure entrambe sono null (quando viene utilizzata come parte di un'espressione di filtro LookML, metti NULL tra virgolette, come mostrato nella pagina della documentazione filters ) |
Unità di misura supportate
Per filtrare in base a un'area intorno a una determinata posizione, puoi utilizzare queste unità:
- Metri
- Piedi
- Chilometri
- Miglia
Le unità di misura singola non sono supportate. Ad esempio, il filtro relativo a un raggio di un chilometro deve essere scritto within 1 miles of 36.97, -122.03
.
Valori 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
:
{{ _user_attributes['name_of_attribute'] }}
Ad esempio, supponi di dover applicare un prefisso sf_
al valore dell'attributo utente salesforce_username
perché questo è 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 delle dashboard e nei filtri degli elementi della dashboard LookML.