Expressões de filtro do Looker

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, como NULL. 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ão 3 days inclui o dia atual parcial, bem como os dois dias anteriores. A expressão 3 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, colocar before 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.