As expressões de filtro são uma forma avançada de filtrar consultas do Looker. Pode usar expressões de filtro das seguintes formas:
- Na secção Explorar do Looker, pode adicionar um filtro, escolher a opção corresponde (avançado) e, em seguida, introduzir uma das expressões apresentadas nesta página para o tipo de filtro como valor do filtro.
- Em elementos LookML que usam um parâmetro
filter
.
Esta página apresenta os valores que pode introduzir para um filtro que usa a opção de condição corresponde (avançado) numa análise detalhada do Looker. Consoante o tipo de filtro e a sua entrada para o valor do filtro, o Looker pode converter a opção corresponde (avançado) numa condição de filtro que pode ser mais adequada.
Aspetos a ter em conta sobre as expressões de filtro
Tenha em atenção as seguintes notas quando trabalhar com expressões de filtro do Looker:
- As expressões de filtro nesta página também são suportadas para alguns tipos de filtros no Looker Studio quando o conetor do Looker faz referência a uma opção Explorar do Looker como origem de dados e o filtro usa uma condição Corresponde (avançado). A condição Corresponde a (avançado) tem um comportamento ligeiramente diferente no Looker Studio do que numa exploração do Looker. O Looker pode converter a condição corresponde (avançado) numa condição mais adequada, com base na entrada do utilizador. No entanto, o Looker Studio usa a opção Corresponde (avançado) como uma condição geral quando a entrada do utilizador é inadequada para as outras condições de filtro suportadas pelo Looker Studio, mas o Looker Studio não converte a condição.
- Nas explorações, os filtros básicos usam algumas expressões que diferem no significado das expressões de filtro documentadas nesta página.
- Quando usar expressões de filtro em LookML, coloque a expressão entre aspas (consulte a página de documentação
filters
para uma utilização adequada). Isto é especialmente importante para valores lógicos, comoNULL
. Quando usa expressões de filtro na secção Explorar do Looker, não precisa de colocar a expressão entre aspas. - As expressões de filtro não são suportadas com concessões de acesso. Consulte a página de documentação
access_grant
para mais informações.
Expressões de filtro para cada tipo de filtro
Introduza os seguintes exemplos como valores de filtro nos filtros do Looker Explore que usam a opção de condição corresponde (avançado). As expressões de filtro são suportadas para os seguintes tipos de filtros:
String
Exemplo | Descrição |
---|---|
FOO |
é igual a "FOO", exatamente |
FOO,BAR |
é igual a "FOO" ou "BAR", exatamente |
%FOO% |
contém "FOO", corresponde a "buffoon" e "fast food" |
FOO% |
Começa por "FOO", corresponde a "foolish" e "food", mas não a "buffoon" nem "fast food" |
%FOO |
termina em "FOO", corresponde a "buffoo" e "fast foo", mas não a "buffoon" nem "fast food" |
F%OD |
Começa com "F" e termina com "OD", corresponde a "fast food" |
EMPTY |
A string está vazia (tem zero carateres) ou é nula (não tem valor) |
NULL |
O valor é nulo (quando é usado como parte de uma expressão de filtro LookML, coloque NULL entre aspas, conforme mostrado na página de documentação filters ) |
-FOO |
não é igual a "FOO" (é qualquer valor, exceto "FOO"), corresponde a "pizza", "trash", "fun", mas não a "foo" |
-FOO,-BAR |
não é igual a "FOO" nem a "BAR", corresponde a qualquer valor, exceto "FOO" e "BAR" |
-%FOO% |
não contém "FOO", não corresponde a "buffoon" nem a "fast food" |
-FOO% |
não começa por "FOO", não corresponde a "foolish" nem a "food" |
-%FOO |
não termina em "FOO", não corresponde a "buffoo" nem a "fast foo" |
-EMPTY |
A string não está vazia (tem, pelo menos, um caráter) |
-NULL |
O valor da coluna não é nulo (quando é usado como parte de uma expressão de filtro LookML, coloque -NULL entre aspas, conforme mostrado na página de documentação filters ) |
FOO%,BAR |
começa por "FOO" ou é exatamente "BAR", corresponde a "food" e corresponde a "bar", mas não a "barfood" |
FOO%,-FOOD |
Começa por "FOO", mas não é "FOOD" |
_UF |
tem qualquer caráter individual seguido de "UF", corresponde a "buffoon" |
Incluir carateres especiais em filtros de string
Tenha em atenção estas regras para incluir carateres especiais em filtros de strings:
- Para incluir
"
,%
ou_
, adicione o caráter de escape^
antes. Por exemplo:^"
,^%
e^_
- Para incluir um
-
à esquerda, escape-o como^-
. Isto só é necessário se o caráter-
for o primeiro caráter. Não precisa de usar o caráter de escape-
se estiver dentro da string. - Para incluir
^
, escape-o como^^
. - Para incluir uma vírgula num filtro de string da IU normal, adicione um caráter de barra invertida antes da vírgula,
\
. Por exemplo:Santa Cruz\, CA
. - Para incluir uma vírgula com a opção corresponde a (avançado) num filtro, adicione o caráter de escape,
^
, antes da vírgula. Por exemplo:Santa Cruz^, CA
. - Para incluir uma vírgula numa expressão de filtro em LookML, adicione o caráter de escape
^
antes. Por exemplo:
field: filtered_count {
type: count
filters: [city: "Santa Cruz^, CA"]
}
Data e hora
A filtragem de datas do Looker permite a utilização de expressões em inglês em vez de funções de data SQL.
Estrutura básica dos filtros de data e hora
Para os seguintes exemplos:
{n}
é um número inteiro.{interval}
é um incremento de tempo, como horas, dias, semanas ou meses.A expressão que usa determina se o
{interval}
inclui períodos parciais ou apenas períodos completos. Por exemplo, a expressão3 days
inclui o dia atual parcial, bem como os dois dias anteriores. A expressão3 days ago for 3 days
inclui os três dias completos anteriores e exclui o dia atual, que está incompleto. Consulte a secção Datas relativas para mais informações.{time}
pode especificar uma hora formatada como AAAA-MM-DD HH:MM:SS ou AAAA/MM/DD HH:MM:SS, ou uma data formatada como AAAA-MM-DD ou AAAA/MM/DD. Quando usar o formato AAAA-MM-DD, certifique-se de que inclui os dois dígitos do mês e do dia, por exemplo, 2016-01. A redução de um mês ou um dia a um único dígito é interpretada como uma compensação e não como uma data. Por exemplo, 2016-1 é interpretado como 2016 menos um ano, ou 2015.
Estas são todas as combinações possíveis de filtros de datas:
Combinação | Exemplo | Notas |
---|---|---|
this {interval} |
this month |
Pode usar this week , this month , this quarter ou this year . Tenha em atenção que a app this day não é suportada. Se quiser obter dados do dia atual, pode usar 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 não inclui a hora que especificar. A expressão before 2018-01-01 devolve dados de todas as datas anteriores a 01-01-2018, mas não devolve dados de 01-01-2018. |
after {time} |
after 2018-10-05 |
after inclui o horário que especificar. Assim, a expressão after 2018-10-05 devolve dados de 05/10/2018 e todas as datas posteriores a 05/10/2018. |
{time} to {time} |
2018-05-18 12:00:00 to 2018-05-18 14:00:00 |
O valor de tempo inicial é inclusivo, mas o valor de tempo posterior não é. Assim, a expressão 2018-05-18 12:00:00 to 2018-05-18 14:00:00 devolve dados com a hora "2018-05-18 12:00:00" a "2018-05-18 13:59:59". |
this {interval} to {interval} |
this year to second |
É usado o início de cada intervalo. Por exemplo, a expressão this year to second devolve dados desde o início do ano em que a consulta é executada até ao início do segundo em que a consulta é executada. this week to day devolve dados desde o início da semana em que a consulta é executada até ao início do dia em que a consulta é executada. |
{time} for {n} {interval} |
2018-01-01 12:00:00 for 3 days |
|
today |
today |
|
yesterday |
yesterday |
|
tomorrow |
tomorrow |
|
{day of week} |
Monday |
A especificação de um dia da semana com um campo Data do grupo de dimensões devolve a data mais recente que corresponde ao dia da semana especificado. Por exemplo, a expressão Dimension Group Date matches (advanced) Monday devolve a segunda-feira mais recente.Também pode usar {day of week} com as palavras-chave before e after neste contexto. Por exemplo, a expressão Dimension Group Date matches (advanced) after Monday devolve a segunda-feira mais recente e tudo o que se segue à segunda-feira mais recente. A expressão Dimension Group Date matches (advanced) before Monday devolve todos os dias antes da segunda-feira mais recente, mas não devolve a segunda-feira mais recente.A especificação de um dia da semana com um campo Dimension Group Day of Week devolve todos os dias que correspondem ao dia da semana especificado. Assim, a expressão Dimension Group Day of Week matches (advanced) Monday é devolvida todas as segundas-feiras. |
next {week, month, quarter, fiscal quarter, year, fiscal year} |
next week |
A palavra-chave next é única, pois requer um dos intervalos indicados anteriormente e não funciona com outros intervalos. |
{n} {interval} from now |
3 days from now |
|
{n} {interval} from now for {n} {interval} |
3 days from now for 2 weeks |
Também pode combinar filtros de data:
- Para usar a lógica OU: escreva várias condições no mesmo filtro, separadas por vírgulas. Por exemplo,
today, 7 days ago
significa "hoje ou há 7 dias". - Para usar a lógica E: escreva as condições, uma a uma, em vários filtros de data ou hora. Por exemplo, pode colocar
after 2014-01-01
num filtro Data de criação e, em seguida, colocarbefore 2 days ago
num filtro Hora de criação. Isto significaria "1 de janeiro de 2014 e depois, e antes de 2 dias atrás".
Datas absolutas
Os filtros de datas absolutas usam os valores de datas específicos para gerar resultados de consultas. Estes são úteis quando cria consultas para intervalos de datas específicos.
Exemplo | Descrição |
---|---|
2018/05/29 |
em algum momento a 29/05/2018 |
2018/05/10 for 3 days |
de 10/05/2018 às 00:00:00 a 12/05/2018 às 23:59:59 |
after 2018/05/10 |
2018/05/10 00:00:00 e posterior |
before 2018/05/10 |
before 2018/05/10 00:00:00 |
2018/05 |
durante todo o mês de 2018/05 |
2018/05 for 2 months |
durante os meses completos de 2018/05 e 2018/06 |
2018/05/10 05:00 for 5 hours |
de 10/05/2018 às 05:00:00 a 10/05/2018 às 09:59:59 |
2018/05/10 for 5 months |
de 10/05/2018 às 00:00:00 a 09/10/2018 às 23:59:59 |
2018 |
Todo o ano de 2018 (01/01/2018 às 00:00:00 a 31/12/2018 às 23:59:59) |
FY2018 |
Todo o ano fiscal a partir de 2018 (se os seus programadores do Looker tiverem especificado que o seu ano fiscal começa em abril, então é de 01/04/2018 00:00 a 31/03/2019 23:59) |
FY2018-Q1 |
primeiro trimestre do ano fiscal com início em 2018 (se os seus programadores do Looker tiverem especificado que o seu ano fiscal começa em abril, então este período é de 01/04/2018 às 00:00:00 a 30/06/2018 às 23:59:59) |
Datas relativas
Os filtros de datas relativas permitem-lhe criar consultas com valores de datas contínuos relativos à data atual. Estas são úteis quando cria consultas que são atualizadas sempre que as executa.
Para todos os exemplos seguintes, considere que hoje é sexta-feira, 18/05/2018 às 18:30:02. No Looker, as semanas começam à segunda-feira, a menos que altere essa definição com week_start_day
.
Segundos
Exemplo | Descrição |
---|---|
1 second |
o segundo atual (2018/05/18 18:30:02) |
60 seconds |
Há 60 segundos durante 60 segundos (18/05/2018 às 18:29:02 até 18/05/2018 às 18:30:01) |
60 seconds ago for 1 second |
Há 60 segundos durante 1 segundo (2018/05/18 18:29:02) |
Minutos
Exemplo | Descrição |
---|---|
1 minute |
O minuto atual (18/05/2018 das 18:30:00 às 18:30:59) |
60 minutes |
Há 60 minutos durante 60 minutos (2018/05/18 17:31:00 a 2018/05/18 18:30:59) |
60 minutes ago for 1 minute |
Há 60 minutos durante 1 minuto (2018/05/18 17:30:00 a 2018/05/18 17:30:59) |
Horas
Exemplo | Descrição |
---|---|
1 hour |
A hora atual (18/05/2018 às 18:00 até 18/05/2018 às 18:59) |
24 hours |
A mesma hora do dia de há 24 horas durante 24 horas (17/05/2018 às 19:00 até 18/05/2018 às 18:59) |
24 hours ago for 1 hour |
A mesma hora do dia de há 24 horas durante 1 hora (17/05/2018 às 18:00 até 17/05/2018 às 18:59) |
Dias
Exemplo | Descrição |
---|---|
today |
O dia atual (18/05/2018 às 00:00 até 18/05/2018 às 23:59) |
2 days |
todo o dia de ontem e hoje (17/05/2018 às 00:00 até 18/05/2018 às 23:59) |
1 day ago |
Apenas ontem (17/05/2018 às 00:00 até 17/05/2018 às 23:59) |
7 days ago for 7 days |
Os últimos 7 dias completos (11/05/2018 às 00:00 até 17/05/2018 às 23:59) |
today for 7 days |
O dia atual, a partir da meia-noite, durante 7 dias (18/05/2018 às 00:00 até 24/05/2018 às 23:59) |
last 3 days |
Há 2 dias até ao final do dia atual (16/05/2018 às 00:00 até 18/05/2018 às 23:59) |
7 days from now |
7 dias no futuro (18/05/2018 às 00:00 até 25/05/2018 às 23:59) |
Semanas
Exemplo | Descrição |
---|---|
1 week |
Início da semana atual (14/05/2018 às 00:00 até 20/05/2018 às 23:59) |
this week |
Início da semana atual (14/05/2018 às 00:00 até 20/05/2018 às 23:59) |
before this week |
em qualquer altura até ao início desta semana (antes de 14/05/2018 às 00:00) |
after this week |
em qualquer altura após o início desta semana (14/05/2018 às 00:00 e mais tarde) |
next week |
A segunda-feira seguinte, durante 1 semana (21/05/2018 às 00:00 até 27/05/2018 às 23:59) |
2 weeks |
Segunda-feira da semana anterior (07/05/2018 às 00:00 até 20/05/2018 às 23:59) |
last week |
sinónimo de "há 1 semana" |
1 week ago |
Segunda-feira da semana anterior, durante 1 semana (07/05/2018 às 00:00 até 13/05/2018 às 23:59) |
Meses
Exemplo | Descrição |
---|---|
1 month |
O mês atual (01/05/2018 às 00:00 a 31/05/2018 às 23:59) |
this month |
sinónimo de "há 0 meses" (01/05/2018 às 00:00 a 31/05/2018 às 23:59) |
2 months |
Os últimos dois meses (01/04/2018 00:00 a 31/05/2018 23:59) |
last month |
todo o mês de 2018/04 |
2 months ago |
todo o período de 2018/03 |
before 2 months ago |
desde o início antes de 01/03/2018 |
next month |
todo o período de 2018/06 |
2 months from now |
todo o período de 2018/07 |
6 months from now for 3 months |
11/2018 a 01/2019 |
Trimestres
Exemplo | Descrição |
---|---|
1 quarter |
O trimestre atual (01/04/2018 às 00:00 a 30/06/2018 às 23:59) |
this quarter |
sinónimo de "há 0 trimestres" (01/04/2018 00:00 a 30/06/2018 23:59) |
2 quarters |
Os dois trimestres anteriores (01/01/2018 às 00:00 a 30/06/2018 às 23:59) |
last quarter |
Todo o 1.º trimestre (01/01/2018 às 00:00 a 31/03/2018 às 23:59) |
2 quarters ago |
Todo o 4.º trimestre do ano passado (01/10/2017 às 00:00 até 31/12/2017 às 23:59) |
before 2 quarters ago |
desde sempre até ao 4.º trimestre do ano passado |
next quarter |
Todo o trimestre seguinte (01/07/2018 às 00:00 até 30/09/2018 às 23:59) |
2018-07-01 for 1 quarter |
Todo o 3.º trimestre (01/07/2018 às 00:00 a 30/09/2018 às 23:59) |
2018-Q4 |
Todo o 4.º trimestre (01/10/2018 às 00:00 a 31/12/2018 às 23:59) |
Anos
Exemplo | Descrição |
---|---|
1 year |
todo o ano atual (01/01/2018 00:00 a 31/12/2018 23:59) |
this year |
todo o ano atual (01/01/2018 00:00 a 31/12/2018 23:59) |
next year |
Todo o ano seguinte (01/01/2019 às 00:00 até 31/12/2019 às 23:59) |
2 years |
Os últimos dois anos (01/01/2017 às 00:00 a 31/12/2018 às 23:59) |
last year |
todo o ano de 2017 |
2 years ago |
todo o ano de 2016 |
before 2 years ago |
Todo o período antes de 01/01/2016 (não inclui dias entre 01/01/2016 e 18/05/2016) |
Booleano
A filtragem em valores do tipo verdadeiro ou falso no Looker requer que saiba com que tipo de valor verdadeiro ou falso está a interagir.
Exemplo | Descrição |
---|---|
yes ou Yes |
O campo é avaliado como verdadeiro
Programadores do Looker: para dimensões type: yesno , use letras minúsculas. Para parâmetros filters (como os usados numa medida ou usados num always_filter ), use letras maiúsculas |
no ou No |
O campo é avaliado como falso
Programadores do Looker: para dimensões type: yesno , use letras minúsculas. Para parâmetros filters (como os usados numa medida ou usados num always_filter ), use letras maiúsculas |
TRUE |
O campo contém verdadeiro (para campos que contêm valores de base de dados booleanos) |
FALSE |
O campo contém o valor falso (para campos que contêm valores booleanos da base de dados) |
Número
Os filtros em números suportam expressões de linguagem natural (por exemplo, 3 to 10
) e operadores relacionais (por exemplo, >20
). O Looker suporta o operador OR
para expressar vários intervalos de filtros (por exemplo, 3 to 10 OR 30 to 100
). O operador AND
pode ser usado para expressar intervalos numéricos com operadores relacionais (por exemplo, >=3 AND <=10
) para especificar um intervalo. Os filtros em números também podem usar a notação de intervalo algébrico para filtrar campos numéricos.
Exemplo | Descrição |
---|---|
5 |
for exatamente 5 |
NOT 5
<>5
!=5 |
é qualquer valor, exceto exatamente 5 |
1, 3, 5, 7 |
é exatamente um dos valores 1, 3, 5 ou 7 |
NOT 66, 99, 4 |
não é um dos valores 66, 99 ou 4, exatamente |
>1 AND <100, NOT 2 |
é maior que 1 e menor que 100, não é 2 |
NOT >1, 2, <100 |
É inferior ou igual a 1, não é 2 e é superior ou igual a 100 (o Looker reconhece que esta é uma condição impossível e, em alternativa, escreve o SQL `IS NULL`) |
5, NOT 6, NOT 7 |
é 5, não é 6 nem 7 |
5.5 to 10
>=5.5 AND <=10 |
É 5,5 ou superior, mas também 10 ou inferior |
NOT 3 to 80.44
<3 OR >80.44 |
é inferior a 3 ou superior a 80,44 |
1 to
>=1 |
é igual ou superior a 1 |
to 10
<=10 |
for igual ou inferior a 10 |
>10 AND <=20 OR 90 |
é superior a 10 e inferior ou igual a 20, ou é exatamente 90 |
>=50 AND <=100 OR >=500 AND <=1000 |
Estiver entre 50 e 100, inclusive, ou entre 500 e 1000, inclusive |
NULL |
Não tem dados (quando é usado como parte de uma expressão de filtro LookML, coloque NULL entre aspas, conforme mostrado na página de documentação filters ) |
NOT NULL |
Tem alguns dados (quando é usado como parte de uma expressão de filtro LookML, coloque NOT NULL entre aspas, conforme mostrado na página de documentação filters ) |
(1, 7) |
interpretado como 1 < x < 7, em que os pontos finais não estão incluídos. Embora esta notação se assemelhe a um par ordenado, neste contexto, refere-se ao intervalo sobre o qual está a trabalhar. |
[5, 90] |
interpretado como 5 <= x <= 90, em que os pontos finais estão incluídos |
(12, 20] |
interpretado como 12 < x <= 20, em que 12 não está incluído, mas 20 está incluído |
[12, 20) |
interpretado como 12 <= x < 20, em que 12 está incluído, mas 20 não está incluído |
(500, inf) |
interpretado como x > 500, em que 500 não está incluído e o infinito é sempre expresso como "aberto" (não incluído). inf pode ser omitido e (500, inf) pode ser escrito como (500,) |
(-inf, 10] |
interpretado como x <= 10, em que 10 está incluído e o infinito é sempre expresso como "aberto" (não incluído). inf pode ser omitido e (-inf, 10] pode ser escrito como (,10] |
[0,9],[20,29] |
Os números entre 0 e 9 inclusive ou 20 a 29 inclusive |
[0,10],20 |
0 a 10 inclusive ou 20 |
NOT (3,12) |
interpretado como x < 3 e x > 12 |
Location
As expressões de filtro de localização baseiam-se na latitude e longitude, mas podem aceitar alguma linguagem natural para definir caixas e círculos nos quais limitar uma pesquisa.
Exemplo | Descrição |
---|---|
36.97, -122.03 |
A localização está exatamente na latitude 36,97 e na longitude 122,03 |
40 miles from 36.97, -122.03 |
A localização está a 64 km da latitude 36,97 e da longitude -122,03 |
inside box from 72.33, -173.14 to 14.39, -61.70 |
A localização está dentro de uma caixa cujo canto noroeste está na latitude 72,33 e longitude -173,14, e cujo canto sudeste está na latitude 14,39 e longitude -61,70 |
NOT NULL (works the same as -NULL) |
A localização tem uma latitude não nula e uma longitude não nula (quando é usada como parte de uma expressão de filtro LookML, coloque NOT NULL entre aspas, conforme mostrado na página de documentação filters ) |
-NULL (works the same as NOT NULL) |
A localização tem uma latitude não nula e uma longitude não nula (quando é usada como parte de uma expressão de filtro LookML, coloque -NULL entre aspas, conforme mostrado na página de documentação filters ) |
NULL |
A localização tem uma latitude nula ou uma longitude nula, ou ambas são nulas (quando é usada como parte de uma expressão de filtro LookML, coloque NULL entre aspas, conforme mostrado na página de documentação filters ) |
Unidades de medida suportadas
Para filtrar numa área em torno de uma determinada localização, pode usar estas unidades:
- Metros
- Pés
- Quilómetros
- Milhas
As unidades de medida singulares não são suportadas. Por exemplo, o filtro para um raio de 1,6 km deve ser escrito within 1 miles of 36.97, -122.03
.
Valores de atributos do utilizador
Para usar o valor de um atributo do utilizador numa expressão de filtro, consulte o atributo do utilizador com a _user_attributes
variável Liquid usando a sintaxe exigida pelo dialeto da sua base de dados:
{{ _user_attributes['name_of_attribute'] }}
Por exemplo, suponhamos que tem de aplicar um prefixo sf_
ao valor do atributo do utilizador salesforce_username
porque é assim que os valores são armazenados na sua base de dados. Para adicionar o prefixo ao valor do atributo do utilizador, pode adicionar um filtro corresponde (avançado) no campo relevante e usar a variável Liquid _user_attributes
na expressão do filtro da seguinte forma:
sf_{{_user_attributes['salesforce_username']}}
Pode usar o mesmo padrão para inserir atributos do utilizador em filtros do painel de controlo e filtros de elementos do painel de controlo do LookML.