Expresiones de filtro de Looker

Las expresiones de filtro son una forma avanzada de filtrar las consultas de Looker. Puedes usar expresiones de filtro de las siguientes maneras:

  • En la sección Explorar de Looker, puedes agregar un filtro, elegir la opción coincide (avanzado) y, luego, ingresar una de las expresiones que se enumeran en esta página para el tipo de filtro como el valor del filtro.
  • En los elementos de LookML que toman un parámetro filter

En esta página, se enumeran los valores que puedes ingresar para un filtro que usa la opción de condición coincide (avanzado) en un Explorar de Looker. Según el tipo de filtro y tu entrada para el valor del filtro, es posible que Looker convierta la opción coincidencias (avanzado) en una condición de filtro que sea más adecuada.

Información importante sobre las expresiones de filtro

Ten en cuenta las siguientes notas cuando trabajes con expresiones de filtro de Looker:

  • Las expresiones de filtro de esta página también se admiten para algunos tipos de filtros en Looker Studio cuando el conector de Looker hace referencia a un Explorar de Looker como fuente de datos y el filtro emplea una condición Coincide con (avanzado). La condición Coincidencias (avanzada) se comporta de manera algo diferente en Looker Studio que en una exploración de Looker. Looker puede convertir la condición coincidencias (avanzado) en una condición más adecuada según la entrada del usuario. Sin embargo, Looker Studio usa la opción Coincide con (avanzado) como condición general cuando la entrada del usuario no es adecuada para las otras condiciones de filtro que admite Looker Studio, pero Looker Studio no convierte la condición.
  • En Explorar, los filtros básicos usan algunas frases que difieren en significado de las expresiones de filtro que se documentan en esta página.
  • Cuando uses expresiones de filtro en LookML, coloca la expresión entre comillas (consulta la página de documentación de filters para obtener información sobre el uso correcto). Esto es especialmente importante para los valores lógicos, como NULL. Cuando usas expresiones de filtro en la sección Explorar de Looker, no es necesario que coloques la expresión entre comillas.
  • Las expresiones de filtro no se admiten con los permisos de acceso. Consulta la página de documentación sobre access_grant para obtener más información.

Expresiones de filtro para cada tipo de filtro

Ingresa los siguientes ejemplos como valores de filtro en los filtros de Explorar de Looker que usan la opción de condición coincide con (avanzado). Se admiten expresiones de filtro para los siguientes tipos de filtros:

String

Ejemplo Descripción
FOO es igual a "FOO", exactamente
FOO,BAR es igual a "FOO" o "BAR", exactamente
%FOO% Contiene "FOO", coincide con "bufón" y "comida rápida"
FOO% Comienza con "FOO", coincide con "foolish" y "food", pero no con "buffoon" ni "fast food".
%FOO termina con "FOO", coincide con "buffoo" y "fast foo", pero no con "buffoon" ni "fast food"
F%OD Comienza con la letra "C" y termina con "IDA", coincide con "comida".
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 es igual a "FOO" (es cualquier valor, excepto "FOO"), coincide con "pizza", "basura", "diversión", pero no con "foo"
-FOO,-BAR no es igual a "FOO" ni a "BAR", coincide con cualquier valor, excepto "FOO" y "BAR".
-%FOO% No contiene "FOO", no coincide con "bufón" ni con "comida rápida".
-FOO% No comienza con "FOO", no coincide con "foolish" ni con "food".
-%FOO No termina con "FOO", no coincide con "buffoo" ni con "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 "FOOD".
_UF tiene cualquier carácter seguido de "UF", coincide con "buffoon"

Cómo incluir caracteres especiales en los filtros de cadenas

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

  • Para incluir ", % o _, agrega el carácter de escape, ^, como prefijo. Por ejemplo, ^", ^% y ^_
  • Para incluir un - inicial, márcalo como ^-. Esto solo es necesario si - es el carácter inicial; no es necesario usar el carácter de escape - si está dentro de la cadena.
  • Para incluir ^, marca como escape ^^.
  • Para incluir una coma en un filtro de cadena de IU normal, antepón una barra diagonal inversa, \. Por ejemplo: Santa Cruz\, CA.
  • Para incluir una coma con la opción coincide con (avanzado) en un filtro, agrega el carácter de escape, ^, antes de la coma. Por ejemplo: Santa Cruz^, CA.
  • Para incluir una coma en una expresión de filtro en LookML, agrega el carácter de escape, ^, como prefijo. Por ejemplo:
  field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

Fecha y hora

El filtrado de 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 determinará si {interval} incluirá períodos parciales o solo períodos completos. Por ejemplo, la expresión 3 days incluye el día actual parcial 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 formato 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 un día a un solo dígito se interpreta como un desplazamiento, no como una fecha. Por ejemplo, 2016-1 se interpreta como 2016 menos un año, es decir, 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 no se admite this day. Si deseas 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 el tiempo que especificas. La expresión before 2018-01-01 devolverá datos de todas las fechas anteriores al 1/1/2018, pero no devolverá datos del 1/1/2018.
after {time} after 2018-10-05 after incluye la hora que especificas. Por lo tanto, la expresión after 2018-10-05 devolverá datos del 2018-10-05 y de todas las fechas posteriores a esa.
{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 valor de tiempo posterior no lo es. Por lo tanto, la expresión 2018-05-18 12:00:00 to 2018-05-18 14:00:00 devolverá datos con el período "2018-05-18 12:00:00" hasta "2018-05-18 13:59:59".
this {interval} to {interval} this year to second Se usa el comienzo de cada intervalo. Por ejemplo, la expresión this year to second devuelve datos desde el comienzo del año en que se ejecuta la consulta hasta el comienzo del segundo en que se ejecuta la consulta. this week to day devuelve datos desde el comienzo de la semana en que se ejecuta la consulta hasta el comienzo del día en que se ejecuta la consulta.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday Si se especifica un día de la semana con un campo Dimension Group Date, se devuelve la fecha más reciente que coincide con el día de la semana especificado. Por ejemplo, la expresión Dimension Group Date matches (advanced) Monday devuelve 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 devuelve el lunes más reciente y todo lo que le sigue. La expresión Dimension Group Date matches (advanced) before Monday devuelve todos los días anteriores al lunes más reciente, pero no devuelve el lunes más reciente.

Si especificas un día de la semana con un campo Dimension Group Day of Week, se mostrarán todos los días que coincidan con el día de la semana especificado. Por lo tanto, la expresión Dimension Group Day of Week matches (advanced) Monday devuelve 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 que se mencionaron 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 AND: Escribe tus condiciones, una por una, en varios filtros de fecha o hora. Por ejemplo, podrías 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 "el 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 cuando creas consultas para períodos específicos.

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

Fechas relativas

Los filtros de fecha relativa te permiten crear consultas con valores de fecha rotativos en relación con la fecha actual. Son útiles cuando creas consultas que se actualizan cada vez que las ejecutas.

En todos los siguientes ejemplos, supón que hoy es viernes, 18/05/2018 a las 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 (2018/05/18 18:30:02)
60 seconds Hace 60 segundos durante 60 segundos (del 18/05/2018 a las 18:29:02 al 18/05/2018 a las 18:30:01)
60 seconds ago for 1 second Hace 60 segundos durante 1 segundo (2018/05/18 18:29:02)

Minutos

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

Horas

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

Días

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

Semanas

Ejemplo Descripción
1 week La parte superior de la semana actual en adelante (del 14/05/2018 a las 00:00 al 20/05/2018 a las 23:59)
this week La parte superior de la semana actual en adelante (del 14/05/2018 a las 00:00 al 20/05/2018 a las 23:59)
before this week En cualquier momento hasta el comienzo de esta semana (antes del 14/05/2018 a las 00:00)
after this week En cualquier momento después del inicio de esta semana (14/05/2018 a las 00:00 y posterior)
next week El lunes siguiente, durante 1 semana (del 21/05/2018 a las 00:00 al 27/05/2018 a las 23:59)
2 weeks A partir del lunes de la semana anterior (del 2018/05/07 a las 00:00 al 2018/05/20 a las 23:59)
last week sinónimo de "hace 1 semana"
1 week ago El lunes de la semana anterior y la semana siguiente (del 2018/05/07 a las 00:00 al 2018/05/13 a las 23:59)

Meses

Ejemplo Descripción
1 month El mes actual (del 1 de mayo de 2018 a las 00:00 al 31 de mayo de 2018 a las 23:59)
this month Sinónimo de "hace 0 meses" (del 1/5/2018 a las 00:00 al 31/5/2018 a las 23:59)
2 months Los últimos dos meses (del 1 de abril de 2018 a las 00:00 al 31 de mayo de 2018 a las 23:59)
last month todo el período de 2018/04
2 months ago todo el mes de marzo de 2018
before 2 months ago Todo el período anterior al 2018/03/01
next month Todo el período de 2018/06
2 months from now Todo el mes de julio de 2018
6 months from now for 3 months Del 2018/11 al 2019/01

Trimestres

Ejemplo Descripción
1 quarter El trimestre actual (del 1 de abril de 2018 a las 00:00 al 30 de junio de 2018 a las 23:59)
this quarter Sinónimo de "hace 0 trimestres" (del 2018/04/01 a las 00:00 al 2018/06/30 a las 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 Q1 (del 2018/01/01 a las 00:00 al 2018/03/31 a las 23:59)
2 quarters ago Todo el 4º trimestre del año pasado (2017/01/01 00:00 al 2017/12/31 23:59)
before 2 quarters ago Todo el tiempo anterior al 4º trimestre del año pasado
next quarter todo el trimestre siguiente (del 1/7/2018 a las 00:00 al 30/9/2018 a las 23:59)
2018-07-01 for 1 quarter Todo el 3ᵉʳ trimestre (del 1/7/2018 a las 00:00 al 30/9/2018 a las 23:59)
2018-Q4 Todo el 4º 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 actual (del 01/01/2018 a las 00:00 al 31/12/2018 a las 23:59)
this year Todo el año actual (del 01/01/2018 a las 00:00 al 31/12/2018 a las 23:59)
next year Todo el año siguiente (del 1/1/2019 a las 00:00 al 31/12/2019 a las 23:59)
2 years los últimos dos años (del 1 de enero de 2017 a las 00:00 al 31 de diciembre de 2018 a las 23:59)
last year Todo el 2017
2 years ago Todo el 2016
before 2 years ago Todo el tiempo anterior al 01/01/2016 (no incluye ningún día entre el 01/01/2016 y el 18/05/2016)

Booleano

Para filtrar valores de tipo verdadero o falso en Looker, debes saber con qué tipo de valor verdadero o falso interactúas.

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

Desarrolladores de Looker: Para las dimensiones de type: yesno, usen letras minúsculas; para los parámetros de filters (como los que se usan en una medida o los que se usan en un always_filter), usen letras mayúsculas.
no o No El campo se evalúa como falso.

Desarrolladores de Looker: Para las dimensiones de type: yesno, usen letras minúsculas; para los parámetros de filters (como los que se usan en una medida o los que se usan en un always_filter), usen letras mayúsculas.
TRUE El campo contiene el valor verdadero (para los campos que contienen valores booleanos de la base de datos).
FALSE El campo contiene el valor "false" (para los campos que contienen valores booleanos de la base de datos).

Número

Los filtros en 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 en 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 exactamente 5
1, 3, 5, 7 es uno de los valores 1, 3, 5 o 7, exactamente
NOT 66, 99, 4 no es uno de los valores 66, 99 o 4, exactamente
>1 AND <100, NOT 2 es mayor que 1 y menor que 100, y 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 menor
NOT 3 to 80.44

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

>=1
es 1 o más
to 10

<=10
es 10 o menos
>10 AND <=20 OR 90 es mayor que 10 y menor o igual que 20, o bien es exactamente 90
>=50 AND <=100 OR >=500 AND <=1000 Está 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) se interpreta como 1 < x < 7, donde no se incluyen los extremos. Si bien esta notación se parece a un par ordenado, en este contexto, hace referencia al intervalo sobre el que trabajas.
[5, 90] se interpreta como 5 <= x <= 90, donde se incluyen los extremos.
(12, 20] Se interpreta como 12 < x <= 20, donde 12 no se incluye, pero 20 sí.
[12, 20) Se interpreta como 12 ≤ x < 20, donde se incluye 12, pero no 20.
(500, inf) Se interpreta como x > 500, donde no se incluye 500 y el infinito siempre se expresa como "abierto" (no incluido). Se puede omitir inf y escribir (500, inf) 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 escribir (-inf, 10] 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 20
NOT (3,12) se interpreta como x < 3 y x > 12

Ubicación

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

Ejemplo Descripción
36.97, -122.03 La ubicación se encuentra exactamente en la latitud 36.97 y la longitud 122.03.
40 miles from 36.97, -122.03 La ubicación se encuentra a menos de 64 kilómetros de la latitud 36.97 y la 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 está en la latitud 72.33 y la longitud -173.14, y cuyo ángulo sureste está en la latitud 14.39 y la longitud -61.70.
NOT NULL (works the same as -NULL) La ubicación tiene una latitud y una longitud no nulas (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) La ubicación tiene una latitud y una longitud no 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).
NULL La ubicación tiene una latitud nula, 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 en un área alrededor de una ubicación determinada, puedes usar estas unidades:

  • Metros
  • Pies
  • Kilómetros
  • Millas

No se admiten las unidades de medida singulares. Por ejemplo, el filtro para un radio de una milla se debe escribir como within 1 miles of 36.97, -122.03.

Valores de los atributos de usuario

Para usar el valor de un atributo del usuario en una expresión de filtro, haz referencia al atributo del usuario con la variable de Liquid _user_attributes usando la sintaxis que requiere tu dialecto de 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í se almacenan los valores en tu base de datos. Para agregar el prefijo al valor del atributo del usuario, puedes agregar un filtro coincide (avanzado) en el campo pertinente y usar la variable de Liquid _user_attributes en la expresión del filtro de la siguiente manera:


sf_{{_user_attributes['salesforce_username']}}

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