Expressões de filtro do Looker

As expressões de filtro são uma forma avançada de filtrar consultas do Looker. Esta página descreve como gravá-las. Na seção Explorar do Looker, é possível usá-la adicionando um filtro e escolhendo a opção correspondências (avançado). Elas também são usadas em LookML para elementos que usam um parâmetro filter.

Ao usar expressões de filtro no LookML, coloque a expressão entre aspas. Consulte a página de documentação do filters para ver detalhes sobre o uso. Isso é especialmente importante para valores lógicos como NULL.

Ao usar expressões de filtro na seção "Explorar" do Looker, não é necessário colocar a expressão entre aspas.

As expressões de filtro não são compatíveis com concessões de acesso. Consulte a página de documentação do access_grant para ver mais informações.

String

As correspondências em filtros de string dependem da configuração de case_sensitive no arquivo do seu modelo e se seu dialeto é compatível com a diferenciação de maiúsculas e minúsculas. Por exemplo, se case_sensitive estiver ativado em seu modelo, a expressão FOO não corresponderá à palavra "food" Se a case_sensitive não estiver ativada ou se o dialeto não permitir a diferenciação entre maiúsculas e minúsculas, a expressão FOO corresponderá à palavra "food"

Exemplo Descrição
FOO é igual a "Food", exatamente
FOO,BAR é igual a "Food" ou "BAR", exatamente
%FOO% contém "Food", corresponde a "buffoon" e "fast food"
FOO% começa com "Food", corresponde a "quolish" e "food" mas não a "quot;buffoon" ou "fast food"
%FOO termina com "quot;Food", corresponde a "buffoo" e "fast foo" mas não "buffoon" ou "fast food"
F%OD começa com "F" e termina com "OD", corresponde a "fast food"
EMPTY a string está vazia (não tem caracteres) ou é nula (sem valor)
NULL 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 "Food" (é qualquer valor exceto "Food"), corresponde a "pizza", "trash", "fun" mas não "foo"
-FOO,-BAR não é igual a "quot;Food" ou "BAR", corresponde a qualquer valor, exceto "Food" e "BAR"
-%FOO% não contém "Food", não corresponde a "buffoon" ou "fast food"
-FOO% não começa com "quot;Food", não corresponde a "quot;foolish" ou "food"
-%FOO não termina com "quot;food", não corresponde a "buffoo" ou "foo rápido"
-EMPTY a string não está vazia (tem pelo menos um caractere)
-NULL O valor da coluna não é nulo. Quando ele 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 "quot;Food" ou é "BAR" exatamente, corresponde a "quot;food" e corresponde a "quot;bar" mas não a "quot;barfood"
FOO%,-FOOD começa com "Food" mas não é "Foodd"
_UF tem qualquer caractere único seguido por "UF", corresponde a "buffoon"

Como incluir caracteres especiais em filtros de string

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

  • Para incluir ", % ou _, use o caractere de escape ^ antes do prefixo. Por exemplo: ^", ^% e ^_
  • Para incluir um - inicial, faça o escape como ^-. Isso só será necessário se - for o caractere principal. Não é necessário escapar - se ele estiver dentro da string.
  • Para incluir ^, faça o escape como ^^.
  • Para incluir uma vírgula em um filtro de string de IU normal, use o caractere de barra invertida antes dela, \`. For example:Santa Cruz\, CA`.
  • Para incluir uma vírgula com a opção matches (advanced) em um filtro, use o caractere de escape ^. Por exemplo: Santa Cruz^, CA.
  • Para incluir uma vírgula em uma expressão de filtro no LookML, use o caractere de escape ^. Por exemplo:
      field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

Em alguns casos, talvez você também queira escapar ou incluir caracteres especiais em filtros de string ao usar treinamentos personalizados no conteúdo do Looker. Consulte a seção Considerações sobre a vinculação ao conteúdo do Looker na página de parâmetros Link para mais informações.

Date and Time

A filtragem de datas do Looker permite que frases em inglês sejam usadas em vez de funções de data SQL.

Estrutura básica dos filtros de data e hora

Para os exemplos a seguir:

  • O número {n} é um número inteiro.
  • O {interval} é um incremento de tempo, como horas, dias, semanas ou meses.

    A frase usada determina se o {interval} incluirá períodos parciais ou apenas períodos completos. Por exemplo, a expressão 3 days inclui o dia parcial atual e 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 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. Ao usar o formato AAAA-MM-DD, inclua os dois dígitos para o mês e o dia, por exemplo, 2016-01. Truncar um mês ou dia em um único dígito é interpretado como um deslocamento, não como 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. Observe que this day não é compatível. Se quiser receber 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 que você especificar. Portanto, 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 inicial de tempo é inclusivo. O último valor de tempo 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 O início de cada intervalo é usado. Por exemplo, a expressão this year to second retorna dados do início do ano em que a consulta foi executada até o início do segundo em que a consulta foi executada. this week to day retorna dados do início da semana em que a consulta foi executada até o início do dia em que ela foi 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.

Você também pode 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 o que vem depois da segunda-feira mais recente. A expressão Dimension Group Date matches (advanced) before Monday retorna todos os dias antes da segunda-feira mais recente, mas não retorna a segunda mais recente.

A especificação de um dia da semana com um campo Dimensão do grupo de dias da semana retorna todos os dias que correspondem ao dia da semana especificado. Portanto, a expressão Dimension Group Day of Week matches (advanced) Monday retorna a cada segunda-feira.
next {week, month, quarter, fiscal quarter, year, fiscal year} next week A palavra-chave next é exclusiva porque exige um dos intervalos listados acima 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 usar 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 7 dias atrás".
  • Para ver a lógica AND: digite suas condições, uma a 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, before 2 days ago em um filtro Horário de criação. Isso significaria "1o de janeiro de 2014 e posterior 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 algum dia em 29/05/2018
2018/05/10 for 3 days de 2018/05/10 00:00:00 a 2018/05/12 23:59:59
after 2018/05/10 2018/05/10 00:00:00 e depois
before 2018/05/10 antes de 2018/05/10 00:00:00
2018/05 durante todo o mês de 2018/05
2018/05 for 2 months nos meses de 2018/05 e 2018/06
2018/05/10 05:00 for 5 hours de 2018/05/10 05:00:00 a 2018/05/10 09:59:59
2018/05/10 for 5 months de 2018/05/10 00:00:00 a 2018/10/09 23:59:59
2018 ano inteiro de 2018 (2018/01/01 00:00:00 a 2018/12/31 23:59:59)
FY2018 todo o ano fiscal a partir de 2018. Se os desenvolvedores do Looker tiverem especificado que seu ano fiscal começou em abril, o período será de 01/04/2018 a 31/03/2019 23:59.
FY2018-Q1 primeiro trimestre do ano fiscal a partir de 2018 (se os desenvolvedores do Looker tiveram especificado que seu ano fiscal começou em abril, isso será 2018/04/01 00:00:00 até 2018/06/30 23:59:59)

Datas relativas

Com os filtros de data relativa, você pode criar consultas com valores de data contínua em relação à data atual. Eles são úteis ao criar consultas que são atualizadas sempre que você faz as consultas.

Para todos os exemplos abaixo, suponha que hoje seja sexta-feira, 2018/05/18 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 (2018/05/18 18:30:02)
60 seconds 60 segundos atrás por 60 segundos (2018/05/18 18:29:02 até 2018/05/18 18:30:01)
60 seconds ago for 1 second 60 segundos atrás por um segundo (2018/05/18 18:29:02)

Minutos

Exemplo Descrição
1 minute o minuto atual (2018/05/18 18:30:00 até 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 um 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 18:00 até 2018/05/18 18:59)
24 hours a mesma hora do dia atrás, que foi de 24 horas atrás, por 24 horas (2018/05/17, 19:00, até 2018/05/18, 18:59)
24 hours ago for 1 hour a mesma hora do dia atrás, que foi de 24 horas atrás, por 1 hora (2018/05/17 18:00 até 2018/05/17 18:59)

Dias

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

Semanas

Exemplo Descrição
1 week parte da semana atual (a partir de 14/05/2018 00:00 até 2018/05/20 23:59)
this week parte da semana atual (a partir de 14/05/2018 00:00 até 2018/05/20 23:59)
before this week a qualquer momento até o início desta semana (antes de 14/05/2018 00:00)
after this week a qualquer momento no final da semana (2018/05/14 00:00 e depois)
next week a próxima segunda-feira, uma semana (2018/05/21 00:00 a 2018/05/27 23:59)
2 weeks uma semana atrás, na segunda-feira daqui em diante (2018/05/07 00:00 a 2018/05/20 23:59)
last week sinônimo de "1 semana atrás"
1 week ago uma semana atrás, segunda-feira, uma semana (2018/05/07 00:00 a 2018/05/13 23:59)

Meses

Exemplo Descrição
1 month o mês atual (2018/05/01 00:00 até 2018/05/31 23:59)
this month sinônimo de "0 meses atrás" (2018/05/01 00:00 até 2018/05/31 23:59)
2 months os últimos dois meses (2018/04/01 00:00 até 2018/05/31 23:59)
last month todas 2018/04
2 months ago todas 2018/03
before 2 months ago todo o período antes de 01/03/2018
next month todas 2018/06
2 months from now todas 2018/07
6 months from now for 3 months 2018/11 a 2019/01

Trimestres

Exemplo Descrição
1 quarter o trimestre atual (2018/04/01 00:00 até 2018/06/30 23:59)
this quarter Sinônimo de "0 trimestres atrás" (2018/04/01 00:00 até 2018/06/30 23:59)
2 quarters os dois últimos trimestres (2018/01/01 00:00 até 2018/06/30 23:59)
last quarter todo o primeiro trimestre (2018/01/01 00:00 até 2018/03/31 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 todo o período antes do quarto trimestre do ano passado
next quarter todos os trimestres seguintes (2018/07/01 00:00 a 2018/09/30 23:59)
2018-07-01 for 1 quarter todo o terceiro trimestre (2018/07/01 00:00 até 2018/09/30 23:59)
2018-Q4 todo o quarto trimestre (2018/10/01 00:00 até 2018/12/31 23:59)

Se os desenvolvedores do Looker tiverem especificado usando um ano fiscal, digite fiscal nessas expressões para usar um trimestre fiscal em vez de um trimestre. Por exemplo, você pode usar last fiscal quarter.

Anos

Exemplo Descrição
1 year todo o ano atual (2018/01/01 00:00 até 2018/12/31 23:59)
this year todo o ano atual (2018/01/01 00:00 até 2018/12/31 23:59)
next year todos os anos seguintes (2019/01/01 00:00 a 2019/12/31 23:59)
2 years os últimos dois anos (2017/01/01 00:00 a 2018/12/31 23:59)
last year todo 2017
2 years ago todo 2016
before 2 years ago todo o período antes de 2016/01/01 (não inclui dias entre 01/01/2016 e 18/05/2016)

Se os desenvolvedores do Looker tiverem especificado usando um ano fiscal, digite fiscal nessas expressões para usar um ano fiscal em vez de um trimestre. Por exemplo, você pode usar last fiscal year.

Booleano

Filtrar valores de tipo verdadeiro ou falso no Looker exige que você saiba com que 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 os usados em uma medida ou usados em um always_filter) use 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 os usados em uma medida ou usados em um always_filter) use letras maiúsculas.
TRUE campo contém verdadeiro (para campos que contêm valores booleanos do banco de dados)
FALSE campo contém falso (para campos que contêm valores booleanos do banco de dados)

Número

Os filtros em números são compatíveis com 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 em números também podem usar a notação de intervalo algébrico para filtrar campos numéricos.

A sintaxe de expressões de filtro numéricas que usam NOT pode não ser intuitiva. Os exemplos abaixo mostram como usá-la.

Exemplo Descrição
5 é exatamente 5
NOT 5
<>5
!=5
é qualquer valor, mas exatamente 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, NOT 2 não é 1 nem 2
1, NOT 2, >100 não é 1, nem 2, nem maior que 100
5, NOT 6, NOT 7 é 5, não é 6 ou 7
5.5 to 10
>=5.5 AND <=10
é 5,5 ou maior, 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 que 10 e menor ou igual a 20 ou 90 exatamente
>=50 AND <=100 OR >=500 AND <=1000 está entre 50 e 100, inclusive, ou entre 500 e 1000, inclusive.
NULL não contém dados (quando usada como parte de uma expressão de filtro LookML, coloque NULL entre aspas, conforme mostrado na página de documentação filters).
NOT NULL contém alguns dados (quando é usado como parte de uma expressão de filtro do 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 endpoints não estão incluídos. Embora essa notação se pareça com um par ordenado, neste contexto ele 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 é incluído, mas 20 é 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 é incluído e o infinito é expresso como sendo "quot;open" (não incluído). inf pode ser omitido, e o código acima pode ser escrito como (500,)
(-inf, 10] interpretado como x <= 10 em que 10 é incluído e infinito é sempre expresso como "quot;open" (não incluído). inf pode ser omitido, e o código acima pode ser escrito como (,10]
[0,9],[20,29] os números entre 0 e 9 ou 20 a 29
[0,10],20 0 a 10 ou 20
NOT (3,12) interpretado como x < 3 e x > 12
NOT 10,[1,5) todos os números, exceto 10, e exceto 1 até, mas não incluindo 5

Local

As expressões de filtro de local têm como base a latitude e a longitude, mas podem aceitar alguma linguagem natural para definir caixas e círculos dentro dos quais limitar uma pesquisa.

Exemplo Descrição
36.97, -122.03 o local está exatamente na latitude 36.97, longitude 122.03
40 miles from 36.97, -122.03 o local está a 40 milhas de latitude 36.97, 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, longitude -173.14 e no canto sudeste na latitude 14.39, longitude -61.70
NOT NULL (works the same as -NULL) O local tem uma latitude não nula e uma longitude não nula. Quando ela for usada como parte de uma expressão de filtro do LookML, coloque NOT NULL entre aspas, conforme mostrado na página de documentação filters.
-NULL (works the same as NOT NULL) O local tem uma latitude não nula e uma longitude não nula. Quando ela for usada como parte de uma expressão de filtro do LookML, coloque -NULL entre aspas, conforme mostrado na página de documentação filters.
NULL O local tem uma latitude ou uma longitude nula, ou ambos são nulos (quando usado como parte de uma expressão de filtro do LookML, coloque NULL entre aspas, conforme mostrado na página de documentação filters).

Unidades de medida compatíveis

Para filtrar uma área ao redor de um determinado local, use estas unidades:

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

Unidades pontuais de medição não são compatíveis. Por exemplo, a filtragem para um raio de uma milha deve ser escrita within 1 miles of 36.97, -122.03.

Valores dos atributos do usuário

Para usar o valor de um atributo do usuário em uma expressão de filtro, faça referência ao atributo do usuário com a variável de líquidos _user_attributes:

{{ _user_attributes['name_of_attribute'] }}

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


sf_{{_user_attributes['salesforce_username']}}

É possível usar o mesmo padrão para inserir atributos do usuário em filtros do painel e elementos do elemento do LookML.