Expresiones de filtro de Looker

Las expresiones de filtro son una forma avanzada de filtrar consultas de Looker y, en esta página, se describe cómo escribirlas. En la sección Explorar de Looker, puedes usarlas si agregas un filtro y eliges la opción coincidencias (avanzadas). También se usan en LookML para elementos que toman un parámetro filter.

String

Ejemplo Descripción
FOO equivale a "FOO", exactamente
FOO,BAR equivale a "FOO" o "BAR", exactamente
%FOO% contiene "FOO", coincide con "buffoon" y "comida rápida"
FOO% comienza con “FOO”, coincide con “foolish” y "comida" pero no "bufón" o "comida rápida"
%FOO termina con "FOO", coincide con "buffoo" y "fast foo", pero no con "buffoon" ni "fast food"
F%OD comienza con una "F" y termina con "OD", coincide con "comida rápida"
EMPTY La cadena está vacía (tiene cero caracteres) o es nula (no tiene valor).
NULL El valor es nulo (cuando se usa como parte de una expresión de filtro de LookML, coloca NULL entre comillas, como se muestra en la página de documentación de filters)
-FOO no equivale a "FOO" (es cualquier valor excepto "FOO"), coincide con "pizza", "basura", "divertida" pero no "foo"
-FOO,-BAR no equivale a “FOO” o "BAR", coincide con cualquier valor excepto "FOO" y "BAR"
-%FOO% no contiene “FOO”, no coincide con “bufón” o "comida rápida"
-FOO% no comienza con "FOO", no coincide con "foolish" ni "food"
-%FOO no termina con “FOO”, no coincide con “buffoo” o "fast foo"
-EMPTY La cadena no está vacía (tiene al menos un carácter).
-NULL el valor de la columna no es nulo (cuando se usa como parte de una expresión de filtro de LookML, coloca -NULL entre comillas, como se muestra en la página de documentación de filters)
FOO%,BAR comienza con "FOO" o es exactamente "BAR", coincide con "food" y con "bar", pero no con "barfood"
FOO%,-FOOD comienza con "FOO" pero no es “COMIDA”
_UF tiene cualquier carácter seguido de “UF”, coincide con “buffoon”

Inclusión de caracteres especiales en filtros de cadenas

Ten en cuenta estas reglas para incluir caracteres especiales en los filtros de cadenas:

  • Para incluir ", % o _, el prefijo con el carácter de escape, ^. Por ejemplo: ^", ^% y ^_
  • Para incluir un - inicial, escápalo como ^-. Esto solo es necesario si - es el carácter inicial. No es necesario escapar - si está dentro de la cadena.
  • Para incluir ^, escápalo como ^^.
  • Para incluir una coma en un filtro de cadena de IU normal, usa el prefijo de la coma con un carácter de barra inversa, \. Por ejemplo: Santa Cruz\, CA.
  • Para incluir una coma con la opción coincidencias (avanzadas) en un filtro, prefija la coma con el carácter de escape, ^. Por ejemplo: Santa Cruz^, CA.
  • Para incluir una coma en una expresión de filtro en LookML, usa el prefijo con el carácter de escape ^. Por ejemplo:
  field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

Fecha y hora

El filtrado por fechas de Looker permite usar frases en inglés en lugar de funciones de fecha de SQL.

Estructura básica de los filtros de fecha y hora

Para los siguientes ejemplos:

  • {n} es un número entero.
  • {interval} es un incremento de tiempo, como horas, días, semanas o meses.

    La redacción que uses determina si la {interval} incluirá períodos de tiempo parciales o solo completos. Por ejemplo, la expresión 3 days incluye el día parcial actual y los dos días anteriores. La expresión 3 days ago for 3 days incluye los tres días completos anteriores y excluye el día actual parcial. Consulta la sección Fechas relativas para obtener más información.

  • {time} puede especificar una hora con el formato AAAA-MM-DD HH:MM:SS o AAAA/MM/DD HH:MM:SS, o una fecha con el formato AAAA-MM-DD o AAAA/MM/DD. Cuando uses el formulario AAAA-MM-DD, asegúrate de incluir ambos dígitos para el mes y el día, por ejemplo, 2016-01. Truncar un mes o día a un solo dígito se interpreta como una compensación, no como una fecha. Por ejemplo, 2016-1 se interpreta como 2016 menos un año, o 2015.

Estas son todas las combinaciones posibles de filtros de fecha:

Combinación Ejemplo Notas
this {interval} this month Puedes usar this week, this month, this quarter o this year. Ten en cuenta que this day no es compatible. Si quieres obtener datos del día actual, puedes 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 no incluye la hora que especifiques. La expresión before 2018-01-01 mostrará datos de todas las fechas anteriores al 1/1/2018, pero no mostrará datos del 1/1/2018.
after {time} after 2018-10-05 after incluye la hora que especifiques. Por lo tanto, la expresión after 2018-10-05 mostrará datos del 05/10/2018 y todas las fechas posteriores al 5/10/2018.
{time} to {time} 2018-05-18 12:00:00 to

2018-05-18 14:00:00
El valor de tiempo inicial es inclusivo, pero el último no lo es. Por lo tanto, la expresión 2018-05-18 12:00:00 to 2018-05-18 14:00:00 mostrará datos con la hora "2018-05-18 12:00:00". hasta “2018-05-18 13:59:59”.
this {interval} to {interval} this year to second Se utiliza el comienzo de cada intervalo. Por ejemplo, la expresión this year to second muestra datos desde el comienzo del año en que se ejecuta la consulta hasta el comienzo del segundo en que se ejecuta. this week to day muestra los datos desde el comienzo de la semana en que se ejecuta la consulta hasta el comienzo del día en que se ejecuta.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday Si especificas un día de la semana con un campo Dimension Group Date, se mostrará la fecha más reciente que coincida con el día de la semana especificado. Por ejemplo, la expresión Dimension Group Date matches (advanced) Monday muestra el lunes más reciente.

También puedes usar {day of week} con las palabras clave before y after en este contexto. Por ejemplo, la expresión Dimension Group Date matches (advanced) after Monday muestra el lunes más reciente y todo lo que sigue después del lunes más reciente. La expresión Dimension Group Date matches (advanced) before Monday se muestra todos los días antes del lunes más reciente, pero no muestra el lunes más reciente.

Si especificas un día de la semana con un campo Día de la semana del grupo de dimensiones, se muestra todos los días que coinciden con el día de la semana especificado. Por lo tanto, la expresión Dimension Group Day of Week matches (advanced) Monday se muestra todos los lunes.
next {week, month, quarter, fiscal quarter, year, fiscal year} next week La palabra clave next es única, ya que requiere uno de los intervalos mencionados anteriormente y no funcionará con otros intervalos.
{n} {interval} from now 3 days from now
{n} {interval} from now for {n} {interval} 3 days from now for 2 weeks

Los filtros de fecha también se pueden combinar:

  • Para obtener la lógica OR: Escribe varias condiciones en el mismo filtro, separadas por comas. Por ejemplo, today, 7 days ago significa "hoy o hace 7 días".
  • Para obtener la lógica Y: Escribe tus condiciones, una por una, en varios filtros de fecha u hora. Por ejemplo, puedes colocar after 2014-01-01 en un filtro de Fecha de creación y, luego, colocar before 2 days ago en un filtro de Hora de creación. Esto significaría "1 de enero de 2014 y después, y antes de hace 2 días".

Fechas absolutas

Los filtros de fecha absoluta usan los valores de fecha específicos para generar resultados de la consulta. Son útiles al crear consultas para períodos específicos.

Ejemplo Descripción
2018/05/29 en algún momento el 29/05/2018
2018/05/10 for 3 days Del 10/05/2018 00:00:00 al 12/05/2018 23:59:59
after 2018/05/10 10/05/2018 00:00:00 y después
before 2018/05/10 antes del 10/05/2018 00:00:00
2018/05 durante todo el mes de 2018/05
2018/05 for 2 months en todos los meses del 05/2018 y el 06/2018
2018/05/10 05:00 for 5 hours desde el 10/05/2018 05:00:00 hasta el 10/05/2018 09:59:59
2018/05/10 for 5 months desde el 10/05/2018 00:00:00 hasta el 09/10/2018 23:59:59
2018 todo el año de 2018 (2018/01/01 00:00:00 a 2018/12/31 23:59:59)
FY2018 todo el año fiscal a partir de 2018 (si los desarrolladores de Looker especificaron que tu año fiscal comienza en abril, este es del 01/04/2018 a las 00:00 al 31/03/2019 a las 23:59)
FY2018-Q1 primer trimestre del año fiscal a partir de 2018 (si tus desarrolladores de Looker especificaron que tu año fiscal comienza en abril, entonces es del 1/04/2018 a las 00:00:00 al 30/06/2018 a las 23:59:59)

Fechas relativas

Los filtros de fecha relativa te permiten crear consultas con valores de fecha progresiva relacionados con la fecha actual. Son útiles cuando creas consultas que se actualizan cada vez que las ejecutas.

Para todos los ejemplos siguientes, imagina que hoy es Friday, 2018/05/18 18:30:02. En Looker, las semanas comienzan el lunes, a menos que cambies ese parámetro de configuración con week_start_day.

Segundos

Ejemplo Descripción
1 second el segundo actual (18/05/2018 18:30:02)
60 seconds Hace 60 segundos durante 60 segundos (del 18/05/2018 6:29:02 al 18/05/2018 6:30:01)
60 seconds ago for 1 second Hace 60 segundos durante 1 segundo (18/05/2018 18:29:02)

Minutos

Ejemplo Descripción
1 minute minuto actual (18/05/2018 18:30:00 a 18:30:59)
60 minutes Hace 60 minutos durante 60 minutos (del 18/05/2018 17:31:00 al 18/05/2018 18:30:59)
60 minutes ago for 1 minute Hace 60 minutos durante 1 minuto (18/05/2018 17:30:00 a 18/05/2018 17:30:59)

Horas

Ejemplo Descripción
1 hour la hora actual (18/05/2018 18:00 a 18/05/2018 18:59)
24 hours la misma hora del día que fue hace 24 horas por 24 horas (2018/05/17 19:00 a 2018/05/18 18:59)
24 hours ago for 1 hour la misma hora del día que fue hace 24 horas por 1 hora (2018/05/17 18:00 hasta 2018/05/17 18:59)

Días

Ejemplo Descripción
today el día actual (18/05/2018 00:00 a 18/05/2018 23:59)
2 days todo ayer y hoy (17/05/2018 00:00 a 18/05/2018 23:59)
1 day ago recién ayer (17/05/2018 00:00 hasta 17/05/2018 23:59)
7 days ago for 7 days Los últimos 7 días completos (11/05/2018 00:00 hasta 17/05/2018 23:59)
today for 7 days el día actual, a partir de la medianoche, por 7 días en el futuro (2018/05/18 00:00 hasta el 24/05/2018 23:59)
last 3 days Hace 2 días hasta el final del día actual (16/05/2018 00:00 hasta 18/05/2018 23:59)
7 days from now 7 días en el futuro (18/05/2018 00:00 hasta el 25/05/2018 23:59)

Semanas

Ejemplo Descripción
1 week a partir del principio de la semana actual (del 14/05/2018 a las 00:00 al 20/05/2018 a las 23:59)
this week parte superior de la semana actual de ahora en adelante (14/05/2018 desde las 00:00 hasta el 20/05/2018 23:59)
before this week en cualquier momento hasta el final de esta semana (antes del 14/05/2018 a las 00:00 a.m.)
after this week en cualquier momento después del comienzo de esta semana (14/05/2018 a las 00:00 en adelante)
next week el lunes siguiente en adelante de 1 semana (21/05/2018 desde las 00:00 hasta el 27/05/2018 23:59)
2 weeks hace una semana el lunes en adelante (2018/05/07 00:00 a 2018/05/20 23:59)
last week sinónimo de "hace una semana"
1 week ago una semana atrás el lunes de ahora en adelante 1 semana (07/05/2018 00:00 a 13/05/2018 23:59)

Meses

Ejemplo Descripción
1 month el mes actual (01/05/2018 00:00 a 31/05/2018 23:59)
this month sinónimo de "hace 0 meses" (01/05/2018 00:00 a 31/05/2018 23:59)
2 months En los últimos dos meses (del 1/04/2018 a las 00:00 al 31/05/2018 a las 23:59)
last month todo 2018/04
2 months ago todo el 2018/03
before 2 months ago todo el período hasta el 1/3/2018
next month todo el 2018/06
2 months from now todo el 2018/07
6 months from now for 3 months De noviembre de 2018 a enero de 2019

Trimestres

Ejemplo Descripción
1 quarter el trimestre actual (del 1/4/2018 a las 00:00 al 30/6/2018 a las 23:59)
this quarter sinónimo de "hace 0 trimestres" (01/04/2018 00:00 a 2018/06/30 23:59)
2 quarters los últimos dos trimestres (del 1/1/2018 a las 00:00 al 30/6/2018 a las 23:59)
last quarter Todo el 1ᵉʳ trim. (del 1ᵉʳ de ene de 2018 a las 00:00 al 31 de mar de 2018 a las 23:59)
2 quarters ago todo el cuarto trimestre del año pasado (de 2017/010/01 desde las 00:00 hasta el 31/12/2017 a las 23:59)
before 2 quarters ago todo el período antes del cuarto trimestre del año pasado
next quarter todo el trimestre siguiente (del 01/07/2018 a las 00:00 al 30/09/2018 a las 23:59)
2018-07-01 for 1 quarter Todo el 3ᵉʳ trim. (del 1/7/2018 a las 00:00 al 30/9/2018 a las 23:59)
2018-Q4 Todo el cuarto trimestre (del 1/10/2018 a las 00:00 al 31/12/2018 a las 23:59)

Años

Ejemplo Descripción
1 year Todo el año en curso (del 1/1/2018 a las 00:00 al 31/12/2018 a las 23:59)
this year Todo el año en curso (del 1/1/2018 a las 00:00 al 31/12/2018 a las 23:59)
next year Todo el año siguiente (2019/01/01 00:00 a 2019/12/31 23:59)
2 years En los últimos dos años (del 1/01/2017 a las 00:00 al 31/12/2018 a las 23:59)
last year todo el 2017
2 years ago todo el 2016
before 2 years ago Todo el período antes del 01/01/2016 (no incluye los días entre el 01/01/2016 y el 18/05/2016)

Booleano

Filtrar los valores de tipo verdadero o falso en Looker requiere que sepas con qué tipo de valor verdadero o falso estás interactuando.

Ejemplo Descripción
yes o Yes campo se evalúa como verdadero

Si eres desarrollador de Looker: usa minúsculas para las dimensiones type: yesno y, para los parámetros filters (como los que se usan en una medida o se usan en una always_filter), usa mayúsculas.
no o No campo se evalúa como falso.

Si eres desarrollador de Looker: usa minúsculas para las dimensiones type: yesno y, para los parámetros filters (como los que se usan en una medida o se usan en una always_filter), usa mayúsculas.
TRUE campo contiene verdadero (para campos que contienen valores de bases de datos booleanas)
FALSE campo contiene falso (para campos que contienen valores de base de datos booleana)

Número

Los filtros de números admiten expresiones en lenguaje natural (por ejemplo, 3 to 10) y operadores relacionales (por ejemplo, >20). Looker admite el operador OR para expresar varios rangos de filtros (por ejemplo, 3 to 10 OR 30 to 100). El operador AND se puede usar para expresar rangos numéricos con operadores relacionales (por ejemplo, >=3 AND <=10) para especificar un rango. Los filtros de números también pueden usar la notación de intervalos algebraicos para filtrar campos numéricos.

Ejemplo Descripción
5 es exactamente 5
NOT 5

<>5

!=5
es cualquier valor, pero no exactamente 5
1, 3, 5, 7 es uno de los valores 1, 3, 5 o 7, exactamente
NOT 66, 99, 4 No es exactamente uno de los valores 66, 99 o 4.
>1 AND <100, NOT 2 es mayor que 1 e inferior a 100, no es 2
NOT >1, 2, <100 es menor o igual que 1, no es 2 y es mayor o igual que 100 (Looker reconoce que esta es una condición imposible y, en su lugar, escribirá el SQL `IS NULL`)
5, NOT 6, NOT 7 es 5, no es 6 ni 7
5.5 to 10

>=5.5 AND <=10
es 5.5 o mayor, pero también 10 o menos
NOT 3 to 80.44

<3 OR >80.44
es menor que 3 o mayor que 80.44
1 to

>=1
es 1 o mayor
to 10

<=10
es 10 o menos
>10 AND <=20 OR 90 es mayor que 10 e menor o igual que 20, o es exactamente 90
>=50 AND <=100 OR >=500 AND <=1000 debe estar entre 50 y 100 inclusive, o entre 500 y 1,000 inclusive
NULL no tiene datos (cuando se usa como parte de una expresión de filtro de LookML, coloca NULL entre comillas, como se muestra en la página de documentación de filters)
NOT NULL tiene algunos datos (cuando se usa como parte de una expresión de filtro de LookML, coloca NOT NULL entre comillas, como se muestra en la página de documentación de filters)
(1, 7) interpretado como 1 < x < 7, en las que no se incluyen los extremos. Aunque esta notación se asemeja a un par ordenado, en este contexto se refiere al intervalo en el que se trabaja.
[5, 90] se interpreta como 5 <= x <= 90 donde se incluyen los extremos
(12, 20] interpretado como 12 < x <= 20, donde 12 no se incluye, pero 20 está incluido
[12, 20) interpretado como 12 <= x < 20 en el que 12 se incluye, pero 20 no está incluido
(500, inf) interpretado como x > 500, donde no se incluye 500 y el infinito siempre se expresa como "abierto". (no incluido). Se puede omitir inf y (500, inf) se puede escribir como (500,).
(-inf, 10] se interpreta como x <= 10 donde se incluye 10 y el infinito siempre se expresa como "abierto" (no incluido). Se puede omitir inf y (-inf, 10] se puede escribir como (,10]
[0,9],[20,29] los números entre 0 y 9 inclusive, o entre 20 y 29 inclusive
[0,10],20 De 0 a 10 inclusive o de 20
NOT (3,12) interpretado como x < 3 y x > (12)

Ubicación

Las expresiones del filtro de ubicación se basan en la latitud y longitud, pero pueden aceptar algún lenguaje natural para definir cuadros y círculos dentro de los cuales limitar una búsqueda.

Ejemplo Descripción
36.97, -122.03 la ubicación está exactamente en la latitud 36.97 y la longitud 122.03
40 miles from 36.97, -122.03 la ubicación se encuentra dentro de las 64 millas de la latitud 36.97, longitud -122.03
inside box from 72.33, -173.14 to 14.39, -61.70 la ubicación se encuentra dentro de un cuadro cuyo ángulo noroeste se encuentra en la latitud 72.33, longitud -173.14 y cuya esquina sureste está en la latitud 14.39, longitud -61.70
NOT NULL (works the same as -NULL) ubicación tiene una latitud no nula y una longitud no nula (cuando se usa como parte de una expresión de filtro de LookML, coloca NOT NULL entre comillas, como se muestra en la página de documentación de filters)
-NULL (works the same as NOT NULL) ubicación tiene una latitud no nula y una longitud no nula (cuando se usa como parte de una expresión de filtro de LookML, coloca -NULL entre comillas, como se muestra en la página de documentación de filters)
NULL la ubicación tiene una latitud nula o una longitud nula, o ambas son nulas (cuando se usa como parte de una expresión de filtro de LookML, coloca NULL entre comillas, como se muestra en la página de documentación de filters)

Unidades de medida admitidas

Para filtrar un área alrededor de una ubicación determinada, puedes utilizar estas unidades:

  • Metros
  • Pies
  • Kilómetros
  • Millas

No se admiten unidades de medida singulares. Por ejemplo, si filtras por un radio de una milla, debes escribir within 1 miles of 36.97, -122.03.

Valores de los atributos del usuario

Para usar el valor de un atributo de usuario en una expresión de filtro, haz referencia al atributo de usuario con la variable líquida _user_attributes con la sintaxis que requiere el dialecto de tu base de datos:

{{ _user_attributes['name_of_attribute'] }}

Por ejemplo, supongamos que necesitas aplicar un prefijo sf_ al valor del atributo de usuario salesforce_username porque así es como se almacenan los valores en tu base de datos. Para agregar el prefijo al valor del atributo de usuario, puedes agregar un filtro de coincidencias (avanzadas) en el campo relevante y usar la variable líquida _user_attributes en la expresión de filtro de la siguiente manera:


sf_{{_user_attributes['salesforce_username']}}

Puedes usar el mismo patrón para insertar atributos de usuario en los filtros de panel y los filtros de elementos de panel de LookML.