Expressões de filtro do Looker

As expressões de filtro são uma forma avançada de filtrar consultas do Looker, e esta página descreve como criá-las. Na seção "Explorar" do Looker, você pode adicionar um filtro e escolher a opção correspondências (avançado) para usá-las. Elas também são usadas no LookML para elementos que recebem um parâmetro filter.

String

Exemplo Descrição
FOO é igual a "FOO", exatamente
FOO,BAR é igual a "FOO" ou "BAR", exatamente
%FOO% contém "FOO" e corresponde a "buffoon" e "fast food"
FOO% começa com "FOO", corresponde a "foolish" e "comida" mas não "buffoon" ou "fast food"
%FOO termina com "FOO" e corresponde a "buffoo" e "fast foo" mas não "buffoon" ou "fast food"
F%OD começa com um "F" e termina com "OD", corresponde a "fast food"
EMPTY a string está vazia (não tem nenhum caractere) ou é nula (sem valor);
NULL o valor é nulo. Quando usado como parte de uma expressão de filtro do LookML, coloque NULL entre aspas, conforme mostrado na página de documentação do filters.
-FOO não é igual a "FOO" (é qualquer valor, exceto "FOO"), corresponde a "pizza", "trash", "fun" mas não "foo"
-FOO,-BAR não é igual a "FOO" ou "BAR", corresponde a qualquer valor, exceto "FOO" e "BAR"
-%FOO% não contém "FOO", não corresponde a "buffoon" ou "fast food"
-FOO% não começa com "FOO", não corresponde a "foolish" ou "comida"
-%FOO não termina com "FOO", não corresponde a "buffoo" ou "fast foo"
-EMPTY a string não está vazia (tem pelo menos um caractere)
-NULL o valor da coluna não é nulo. Quando for usado como parte de uma expressão de filtro do LookML, coloque -NULL entre aspas, conforme mostrado na página de documentação filters.
FOO%,BAR começa com "FOO" ou "BAR" corresponde exatamente a "comida" e corresponde a "bar" mas não "barfood"
FOO%,-FOOD começa com "FOO" mas não é "ALIMENTO"
_UF tem qualquer caractere único seguido por "UF", corresponde a "buffoon"

Inclusão de caracteres especiais em filtros de string

Observe estas regras para incluir caracteres especiais em filtros de string:

  • Para incluir ", % ou _, use o prefixo com o caractere de escape ^. Por exemplo: ^", ^% e ^_.
  • Para incluir um - inicial, faça o escape dele como ^-. Isso só será necessário se - for o caractere inicial. não será necessário usar o escape - se ele estiver dentro da string.
  • Para incluir ^, faça o escape como ^^.
  • Para incluir uma vírgula em um filtro de string regular UI, inclua um caractere de barra invertida como prefixo, \. Por exemplo, Santa Cruz\, CA.
  • Para incluir uma vírgula com a opção corresponde a (avançado), em um filtro, acrescente o caractere de escape ^ antes dela. Por exemplo: Santa Cruz^, CA.
  • Para incluir uma vírgula em uma expressão de filtro no LookML, use o prefixo com o caractere de escape ^. Por exemplo:
.
  field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

Data e hora

A filtragem de datas do Looker permite o uso de frases em inglês no lugar de funções de data SQL.

Estrutura básica de 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 frase usada determina se a {interval} vai incluir períodos parciais ou apenas períodos completos. Por exemplo, a expressão 3 days inclui o dia parcial atual, 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 parcial atual. Consulte a seção Datas relativas para mais informações.

  • {time} pode especificar um horário no formato AAAA-MM-DD HH:MM:SS ou AAAA/MM/DD HH:MM:SS, ou uma data no formato AAAA-MM-DD ou AAAA/MM/DD. Ao usar o formato AAAA-MM-DD, inclua os dois dígitos do mês e do dia, por exemplo, 2016-01. O truncamento de um mês ou dia em um único dígito é interpretado como uma compensação, 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 data:

Combinação Exemplo Observações
this {interval} this month Você pode usar this week, this month, this quarter ou this year. Não há suporte para this day. Se você quiser receber os dados do dia atual, use 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 o horário especificado. A expressão before 2018-01-01 retornará dados de todas as datas anteriores a 01/01/2018, mas não retornará dados de 01/01/2018.
after {time} after 2018-10-05 after inclui o horário especificado. Assim, a expressão after 2018-10-05 retornará 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 último não é. Portanto, a expressão 2018-05-18 12:00:00 to 2018-05-18 14:00:00 retornará dados com o horário "2018-05-18 12:00:00" até "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 retorna dados do início do ano em que a consulta é executada até o início do segundo em que a consulta é executada. this week to day retorna dados do início da semana em que a consulta é executada até o início do dia em que ela é executada.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday Especificar um dia da semana com um campo Dimension Group Date retorna a data mais recente que corresponde ao dia da semana especificado. Por exemplo, a expressão Dimension Group Date matches (advanced) Monday retorna a segunda-feira mais recente.

Também é possível usar {day of week} com as palavras-chave before e after nesse contexto. Por exemplo, a expressão Dimension Group Date matches (advanced) after Monday retorna a segunda-feira mais recente e tudo que vem depois da segunda-feira mais recente. A expressão Dimension Group Date matches (advanced) before Monday é retornada todos os dias antes da segunda-feira mais recente, mas não retorna a segunda-feira mais recente.

Especificar um dia da semana com um campo Dia da semana do grupo de dimensões retorna todos os dias que correspondem ao dia da semana especificado. Portanto, a expressão Dimension Group Day of Week matches (advanced) Monday retorna todas as segundas-feiras.
next {week, month, quarter, fiscal quarter, year, fiscal year} next week A palavra-chave next é exclusiva porque exige um dos intervalos listados anteriormente e não funcionará 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

Os filtros de data também podem ser combinados:

  • Para acessar a lógica OR:digite várias condições no mesmo filtro, separadas por vírgulas. Por exemplo, today, 7 days ago significa "hoje ou sete dias atrás".
  • Para acessar a lógica AND:digite as condições, uma por uma, em vários filtros de data ou hora. Por exemplo, é possível colocar after 2014-01-01 em um filtro Data de criação e, em seguida, colocar before 2 days ago em um filtro Horário de criação. Significa "1o de janeiro de 2014 em diante e antes de dois dias atrás".

Datas absolutas

Os filtros de data absoluta usam os valores de data específicos para gerar os resultados da consulta. Eles são úteis ao criar consultas para períodos específicos.

Exemplo Descrição
2018/05/29 em algum momento em 29/05/2018
2018/05/10 for 3 days de 10/05/2018 00:00:00 a 12/05/2018 23:59:59
after 2018/05/10 10/05/2018 00:00:00 e depois
before 2018/05/10 Antes de 10/05/2018 00:00:00
2018/05 em todo o mês de 2018/05
2018/05 for 2 months em todos os meses 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 00:00:00 a 09/10/2018 23:59:59
2018 Todo o ano de 2018 (01/01/2018 00:00:00 a 31/12/2018 23:59:59)
FY2018 todo o ano fiscal a partir de 2018. Se os desenvolvedores do Looker especificaram que seu ano fiscal começa em abril, será de 01/04/2018 às 00h até 31/03/2019, às 23h59.
FY2018-Q1 primeiro trimestre do ano fiscal que começa em 2018. Se os desenvolvedores do Looker especificaram que seu ano fiscal começa em abril, será de 01/04/2018, das 00:00:00 a 30/06/2018, 23:59:59.

Datas relativas

Os filtros de data relativa permitem criar consultas com valores de data contínua relativos à data atual. Eles são úteis ao criar consultas que são atualizadas toda vez que você executa a consulta.

Para todos os exemplos a seguir, suponha que hoje é Sexta-feira, 18/05/2018 18:30:02. No Looker, as semanas começam na segunda-feira, a menos que você mude essa configuração com week_start_day.

Segundos

Exemplo Descrição
1 second o segundo atual (18/05/2018 18:30:02)
60 seconds 60 segundos atrás por 60 segundos (2018/05/18 18:29:02 a 2018/05/18 18:30:01)
60 seconds ago for 1 second 60 segundos atrás por 1 segundo (2018/05/18 18:29:02)

Minutos

Exemplo Descrição
1 minute o minuto atual (2018/05/18 18:30:00 a 18:30:59)
60 minutes 60 minutos atrás por 60 minutos (2018/05/18 17:31:00 a 2018/05/18 18:30:59)
60 minutes ago for 1 minute 60 minutos atrás por 1 minuto (2018/05/18 17:30:00 a 2018/05/18 17:30:59)

Horas

Exemplo Descrição
1 hour no horário atual (18/05/2018, 18h a 18/05/2018, 18h59)
24 hours a mesma hora do dia de 24 horas atrás por 24 horas (17/05/2018, 19h até 18/05/2018, 18h59)
24 hours ago for 1 hour a mesma hora do dia de 24 horas atrás por 1 hora (17/05/2018, 18h até 17/05/2018, 18h59)

Dias

Exemplo Descrição
today o dia atual (2018/05/18 00:00 a 2018/05/18 23:59)
2 days Todos os dias de ontem e hoje (17/05/2018, 00:00 a 18/05/2018, 23:59)
1 day ago ontem (17/05/2018 00:00 até 17/05/2018 23:59)
7 days ago for 7 days nos últimos 7 dias completos (11/05/2018 00:00 até 17/05/2018 23:59)
today for 7 days no dia atual, começando à meia-noite, por sete dias no futuro (18/05/2018, 00:00 até 24/05/2018, às 23:59)
last 3 days De 2 dias atrás até o fim do dia atual (16/05/2018 00:00 até 18/05/2018 23:59)
7 days from now 7 dias no futuro (18/05/2018 à 00:00 até 25/05/2018 às 23:59)

Semanas

Exemplo Descrição
1 week a partir da semana atual (14/05/2018, 00:00 até 20/05/2018, 23h59)
this week a partir da semana atual (14/05/2018, 00:00 até 20/05/2018, 23h59)
before this week até o topo desta semana (antes de 14/05/2018 à meia-noite)
after this week em qualquer data após o início desta semana (14/05/2018, à meia-noite)
next week na segunda-feira seguinte daqui para frente uma semana (21/05/2018 00:00 até 2018/05/27 23:59)
2 weeks uma semana atrás, na segunda-feira a partir de agora (07/05/2018, 00:00 até 20/05/2018, 23:59)
last week sinônimo para "1 semana atrás"
1 week ago uma semana atrás, segunda-feira depois de uma semana (07/05/2018, 00:00 até 13/05/2018 às 23:59)

Meses

Exemplo Descrição
1 month Mês atual (01/05/2018, 00:00 a 31/05/2018, 23:59)
this month sinônimo para "0 meses atrás" (01/05/2018, 00h, a 31/05/2018, 23h59)
2 months nos últimos dois meses (01/04/2018, 00:00 a 31/05/2018, 23:59)
last month tudo de 04/2018
2 months ago tudo de 03/2018
before 2 months ago antes de 01/03/2018
next month tudo de 2018/06
2 months from now tudo de 2018/07
6 months from now for 3 months 11/2018 a 01/2019

Trimestres

Exemplo Descrição
1 quarter trimestre atual (01/04/2018, 00:00 a 30/06/2018, 23h59)
this quarter sinônimo para "0 trimestres atrás" (01/04/2018, 00h, a 30/06/2018, 23h59)
2 quarters nos últimos dois trimestres (01/01/2018, 00:00 a 30/06/2018, 23:59)
last quarter Todo o 1o trimestre (01/01/2018, 00:00 a 31/03/2018, 23:59)
2 quarters ago todo o quarto trimestre do ano passado (2017/010/01 00:00 até 2017/12/31 23:59)
before 2 quarters ago antes do quarto trimestre do ano passado
next quarter todo o trimestre seguinte (01/07/2018 às 00h a 30/09/2018 às 23h59)
2018-07-01 for 1 quarter Todo o T3 (01/07/2018 00:00 a 30/09/2018 23:59)
2018-Q4 Todo o quarto trimestre (01/10/2018, às 00h, a 31/12/2018, às 23h59)

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 no ano seguinte (2019/01/01 00:00 a 2019/12/31 23:59)
2 years nos últimos dois anos (01/01/2017, 00:00 a 31/12/2018, 23:59)
last year tudo de 2017
2 years ago tudo 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

Filtrar em valores de tipo verdadeiro ou falso no Looker exige que você saiba com qual tipo de valor verdadeiro ou falso você está interagindo.

Exemplo Descrição
yes ou Yes campo é avaliado como verdadeiro

Desenvolvedores do Looker: para dimensões type: yesno, use letras minúsculas para parâmetros filters (como aqueles usados em uma medição ou usado em um always_filter) usam letras maiúsculas.
no ou No campo é avaliado como falso

Desenvolvedores do Looker: para dimensões type: yesno, use letras minúsculas para parâmetros filters (como aqueles usados em uma medição ou usado em um always_filter) usam letras maiúsculas.
TRUE campo contém true (para campos que contêm valores de banco de dados booleanos)
FALSE o campo contém false (para campos que contêm valores de banco de dados booleanos)

Número

Os filtros de números oferecem suporte a expressões de linguagem natural (por exemplo, 3 to 10) e operadores relacionais (por exemplo, >20). O Looker oferece suporte ao 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 de números também podem usar a notação algébrica de intervalos para filtrar campos numéricos.

Exemplo Descrição
5 é exatamente 5
NOT 5

<>5

!=5
é qualquer valor, exceto 5
1, 3, 5, 7 é um dos valores 1, 3, 5 ou 7, exatamente
NOT 66, 99, 4 não é um dos valores 66, 99 ou 4, exatamente
>1 AND <100, NOT 2 é maior do que 1 e menor do que 100, não é 2
NOT >1, 2, <100 é menor ou igual a 1, não é 2 e maior ou igual a 100 (o Looker reconhece que essa é uma condição impossível e, em vez disso, escreve o SQL `IS NULL`)
5, NOT 6, NOT 7 é 5, não é 6 ou 7
5.5 to 10

>=5.5 AND <=10
é 5,5 ou superior, mas também 10 ou menos
NOT 3 to 80.44

<3 OR >80.44
é menor que 3 ou maior que 80,44
1 to

>=1
é 1 ou maior
to 10

<=10
é 10 ou menos
>10 AND <=20 OR 90 é maior do que 10 e menor ou igual a 20, ou é 90 exatamente
>=50 AND <=100 OR >=500 AND <=1000 está entre 50 e 100, ou entre 500 e 1.000, inclusive.
NULL não tenha dados (quando for usado como parte de uma expressão de filtro do LookML, coloque NULL entre aspas, conforme mostrado na página de documentação do filters).
NOT NULL tiver alguns dados. Quando ele for usado como parte de uma expressão de filtro do LookML, coloque NOT NULL entre aspas, conforme mostrado na página de documentação do filters.
(1, 7) interpretado como 1 < x < 7 em que os endpoints não estão incluídos. Embora essa notação se assemelha a um par ordenado, neste contexto, ela se refere ao intervalo em que você está trabalhando.
[5, 90] interpretado como 5 <= x <= 90, em que os endpoints 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 é incluído, mas 20 não é 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 é 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, ou de 20 a 29,
[0,10],20 0 a 10, inclusive ou 20
NOT (3,12) interpretado como x < 3 e x > 12

Local

As expressões de filtro de local são baseadas na latitude e na longitude, mas podem aceitar linguagem natural para definir caixas e círculos nos quais limitar uma pesquisa.

Exemplo Descrição
36.97, -122.03 a localização é latitude 36,97, longitude 122,03
40 miles from 36.97, -122.03 local está dentro de 64 milhas de latitude 36,97, longitude -122,03
inside box from 72.33, -173.14 to 14.39, -61.70 localização está dentro de uma caixa cujo canto noroeste está na latitude 72,33, longitude -173,14 e cujo canto sudeste está na latitude 14,39, longitude -61,70
NOT NULL (works the same as -NULL) location tem uma latitude não nula e uma longitude não nula (quando for usado como parte de uma expressão de filtro do LookML, coloque NOT NULL entre aspas, como mostrado na página de documentação filters).
-NULL (works the same as NOT NULL) location tem uma latitude não nula e uma longitude não nula (quando for usado como parte de uma expressão de filtro do LookML, coloque -NULL entre aspas, como mostrado na página de documentação filters).
NULL O local tem uma latitude, uma longitude nula ou ambos são nulos. Quando for usado como parte de uma expressão de filtro do LookML, coloque NULL entre aspas, como mostrado na página de documentação do filters.

Unidades de medida compatíveis

Para filtrar uma área ao redor de um local específico, use estas unidades:

  • Metros
  • Pés
  • Quilômetros
  • Milhas

Não é possível usar unidades de medida únicas. Por exemplo, a filtragem por um raio de 1 milha precisa ser escrita como within 1 miles of 36.97, -122.03.

Valores de atributo do usuário

Para usar o valor de um atributo de usuário em uma expressão de filtro, faça referência ao atributo com a variável líquida _user_attributes usando a sintaxe exigida pelo dialeto do banco de dados:

{{ _user_attributes['name_of_attribute'] }}

Por exemplo, suponha que você precise aplicar um prefixo sf_ ao valor do atributo de usuário salesforce_username porque é assim que os valores são armazenados no seu banco de dados. Para adicionar o prefixo ao valor do atributo do usuário, adicione um filtro de correspondências (avançado) no campo relevante e use a variável líquida _user_attributes na expressão de filtro da seguinte maneira:


sf_{{_user_attributes['salesforce_username']}}

Você pode usar o mesmo padrão para inserir atributos de usuário nos filtros de painel e nos filtros de elemento do painel do LookML.