Expresiones de filtros de Looker

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

Cuando uses expresiones de filtro en LookML, debes colocar la expresión entre comillas (consulta la página de documentación filters para conocer el uso correcto). Esto es especialmente importante para valores lógicos como NULL.

Cuando usas expresiones de filtro en la sección Explorar de Looker, no necesitas colocar la expresión entre comillas.

Las expresiones de filtro no son compatibles con los otorgamientos de acceso. Consulta la página de documentación de access_grant para obtener más información.

String

Las coincidencias en los filtros de strings dependen de la configuración case_sensitive en el archivo del modelo y de si el dialecto distingue entre mayúsculas y minúsculas. Por ejemplo, si case_sensitive está habilitado en tu modelo, la expresión FOO no coincidirá con la palabra "food". Si case_sensitive no está habilitado o si tu dialecto no admite distinción entre mayúsculas y minúsculas, la expresión FOO coincidirá con la palabra "food".

Ejemplo Descripción
FOO es igual a "FOO" exactamente
FOO,BAR es igual a "FOO" o "BAR" exactamente
%FOO% contiene &FOT;FOO&;, coincide con &buffoon & comida rápida"
FOO% comienza con "FOO"; coincide con "foolish" y "food", pero no con "buffoon" ni con "comida rápida".
%FOO termina con "FOO"; coincide con "buffoo" y "foo rápido", pero no "buffoon" ni "comida rápida"
F%OD comienza con “&F” y termina con “OD”, coincide con la “comida rápida”
EMPTY la string está vacía (tiene cero caracteres) o es nula (sin valor)
NULL El valor es nulo (cuando se usa como parte de una expresión de filtro LookML, se 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", "fun", pero no "foo"
-FOO,-BAR no es igual a "FOO" o "BAR"; coincide con cualquier valor excepto "FOO" y "BAR"
-%FOO% no contiene &FOT;FOO" no coincide con "buffoon" o comida rápida
-FOO% no comienza con "FOO"; no coincide con "foolish" o "food".
-%FOO no termina con "FOO"; no coincide con "buffoo" ni "foo rápido".
-EMPTY la string 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 LookML, coloca -NULL entre comillas, como se muestra en la página de documentación filters)
FOO%,BAR comienza con "FOO" o es "BAR" que coincide exactamente con "food", y coincide con "bar", pero no "barfood".
FOO%,-FOOD comienza con "FOO" pero no es "FOOD"
_UF tiene un solo carácter seguido de “UF", coincide con “buffoon”?

Incluir caracteres especiales en los filtros de strings

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

  • Para incluir ", % o _, el prefijo con el carácter de escape, ^. Por ejemplo: ^", ^% y ^_
  • Para incluir un - inicial, debes escaparlo como ^-. Esto solo es necesario si - es el carácter principal; no es necesario escapar - si está dentro de la string.
  • Para incluir ^, debes escaparla como ^^.
  • Para incluir una coma en un filtro de strings de IU normal, agrégale un prefijo con un carácter de barra invertida, \`. For example:Santa Cruz\, CA`.
  • Para incluir una coma con la opción coincidencias (avanzado) 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, agrega el carácter de escape ^. Por ejemplo:
      field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

En algunos casos, es posible que también quieras escapar o incluir caracteres especiales en los filtros de strings cuando uses simulacros personalizados para el contenido de Looker. Consulta la sección Aspectos para considerar cuando vincules contenido de Looker en la página de parámetros de Link a fin de obtener más información.

Fecha y hora

El filtro de fechas de Looker permite que se usen 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 frase que uses determinará si {interval} incluirá períodos parciales o solo completos. Por ejemplo, la expresión 3 days incluye el día actual y parcial, así como 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 y parcial. Consulta la sección Fechas relativas para obtener más información.

  • {time} puede especificar una hora con formato AAAA-MM-DD HH:MM:SS o AAAA/MM/DD HH:MM:SS o una fecha con formato AAAA-MM-DD o AAAA/MM/DD. Cuando utilice el formulario AAAA-MM-DD, asegúrese 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 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 no se admite this day. 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 especificaste. La expresión before 2018-01-01 mostrará datos de todas las fechas anteriores al 1 de enero de 2018, pero no mostrará los datos del 1 de enero de 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 05/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. El último valor de tiempo 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 las horas "2018-05-18 12:00:00 "2018-05-18 13:59:59".
this {interval} to {interval} this year to second Se usa el principio 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 inicio del segundo. 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 especifica un día de la semana mediante 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 al 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 el campo Dimension Group Day of Week, se mostrará 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 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 funciona 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 fechas 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 7 días atrás".
  • Para obtener la lógica Y: escribe las condiciones, una por una, en varios filtros de fecha u hora. Por ejemplo, puedes colocar after 2014-01-01 en un filtro Fecha de creación y, luego, before 2 days ago en un filtro Fecha de creación. Esto implicaría "el 1.o de enero de 2014 y después, y antes de los 2 días atrás".

Fechas absolutas

Los filtros de fecha absoluta usan los valores de fecha específicos para generar resultados de consulta. Son útiles cuando se crean consultas para períodos específicos.

Ejemplo Descripción
2018/05/29 algún día del 29/05/2018
2018/05/10 for 3 days del 10/05/2018 de 00:00:00 a 2018/05/12 23:59:59
after 2018/05/10 2018/05/10 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 durante los meses completos de 2018/05 y 2018/06
2018/05/10 05:00 for 5 hours Desde 2018/05/10 05:00:00 hasta 2018/05/10 09:59:59
2018/05/10 for 5 months desde el 2018/05/10 00:00:00 hasta 2018/10/09 23:59:59
2018 todo el año 2018 (2018/01/01 00:00:00 to 2018/12/31 23:59:59)
FY2018 todo el año fiscal a partir de 2018 (si sus desarrolladores de Looker especificaron que su año fiscal comienza en abril, esto es 2018/04/01 00:00 hasta 2019/03/31 23:59)
FY2018-Q1 primer trimestre del año fiscal a partir de 2018 (si sus desarrolladores de Looker especificaron que su año fiscal comienza en abril, será de 2018/04/01 de 00:00:00 a 2018/06/30 23:59:59)

Fechas relativas

Los filtros de fecha relativa te permiten crear consultas con valores de fecha progresiva relativos a la fecha actual. Son útiles cuando se crean consultas que se actualizan cada vez que se ejecuta la consulta.

Para todos los ejemplos a continuación, supongamos que hoy es viernes 2018/05/18 18:30:02. En Looker, las semanas comienzan el lunes, a menos que cambie esa 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 (2018/05/18 18:29:02 hasta 2018/05/18 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 (2018/05/18 18:30:00 to 18:30:59)
60 minutes Hace 60 minutos durante 60 minutos (2018/05/18 17:31:00 to 2018/05/18 18:30:59)
60 minutes ago for 1 minute Hace 60 minutos durante 1 minuto (2018/05/18 17:30:00-2018/05/18 17:30:59)

Horas

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

Días

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

Semanas

Ejemplo Descripción
1 week parte superior de la semana en curso (2018/05/14 00:00 a 2018/05/20 23:59)
this week parte superior de la semana en curso (2018/05/14 00:00 a 2018/05/20 23:59)
before this week en cualquier momento hasta el inicio de esta semana (antes del 14/05/2018 a las 00:00)
after this week en cualquier momento después de la parte superior de esta semana (2018/05/14 00:00 y posterior)
next week el lunes siguiente en adelante 1 semana (2018/05/21 00:00 a 2018/05/27 23:59)
2 weeks una semana atrás el lunes en adelante (2018/05/07 00:00 a 2018/05/20 23:59)
last week sinónimo de "hace 1 semana"
1 week ago una semana atrás el lunes en adelante 1 semana (2018/05/07 00:00 to 2018/05/13 23:59)

Meses

Ejemplo Descripción
1 month el mes actual (2018/05/01 00:00 a 2018/05/31 23:59)
this month sinónimo de "0 meses atrás" (2018/05/01 00:00 hasta 2018/05/31 23:59)
2 months los últimos dos meses (2018/04/01 00:00 a 2018/05/31 23:59)
last month todo el 04/2018
2 months ago todo el 03/2018
before 2 months ago desde antes del 1 de marzo de 2018
next month todo el 06/2018
2 months from now todo el 07/2018
6 months from now for 3 months Del 11/11 al 1 de agosto de 2019

Trimestres

Ejemplo Descripción
1 quarter el trimestre actual (2018/04/01 00:00 a 2018/06/30 23:59)
this quarter sinónimo de "0 trimestres atrás" (2018/04/01 00:00 hasta 2018/06/30 23:59)
2 quarters los últimos dos trimestres (2018/01/01 00:00 a 2018/06/30 23:59)
last quarter todo el primer trimestre (2018/01/01 00:00 a 2018/03/31 23:59)
2 quarters ago todo el cuarto trimestre del año anterior (2017/010/01 00:00 a 2017/12/31 23:59)
before 2 quarters ago desde antes del T4 del año pasado
next quarter todos los trimestres siguientes (2018/07/01 00:00 a 2018/09/30 23:59)
2018-07-01 for 1 quarter todo el tercer trimestre (2018/07/01 00:00 a 2018/09/30 23:59)
2018-Q4 todo el cuarto trimestre (2018/10/01 00:00-2018/12/31 23:59)

Si tus desarrolladores de Looker especificaron con un año fiscal, puedes escribir fiscal en estas expresiones para usar un trimestre fiscal en lugar de un trimestre calendario. Por ejemplo, puedes usar last fiscal quarter.

Años

Ejemplo Descripción
1 year durante todo el año en curso (2018/01/01 00:00 a 2018/12/31 23:59)
this year durante todo el año en curso (2018/01/01 00:00 a 2018/12/31 23:59)
next year durante todo el año siguiente (2019/01/01 00:00 a 2019/12/31 23:59)
2 years los últimos dos años (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 el tiempo antes de 2016/01/01 (no incluye días entre 2016/01/01 y 2016/05/18)

Si tus desarrolladores de Looker especificaron con un año fiscal, puedes escribir fiscal en estas expresiones para usar un año fiscal en lugar de un trimestre calendario. Por ejemplo, puedes usar last fiscal year.

Booleano

Filtrar por valores de tipo verdadero o falso en Looker requiere saber con qué tipo de valor verdadero o falso se está interactuando.

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

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

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

Número

Los filtros en números admiten expresiones de 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.

Es posible que la sintaxis de las expresiones numéricas de filtro mediante NOT no sea intuitiva. En los siguientes ejemplos, se muestra cómo usarlo.

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 ó 7, exactamente
NOT 66, 99, 4 no es uno de los valores 66, 99 ó 4, exactamente
1, NOT 2 no es 1 ni 2
1, NOT 2, >100 no es 1, 2 ni mayor que 100
5, NOT 6, NOT 7 es 5, no es 6 ni 7
5.5 to 10
>=5.5 AND <=10
es de 5.5 o más, pero también de 10
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 y menor o igual que 20, o es 90 exactamente
>=50 AND <=100 OR >=500 AND <=1000 es entre 50 y 100, inclusive, o entre 500 y 1,000, inclusive
NULL No contiene datos. Cuando se usa como parte de una expresión de filtro LookML, coloca NULL entre comillas, como se muestra en la página de documentación de filters.
NOT NULL contiene algunos datos (cuando se usan como parte de una expresión de filtro 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 donde no se incluyen los extremos. Si bien esta notación se asemeja a un par ordenado, en este contexto, se refiere al intervalo en el que estás trabajando.
[5, 90] interpretado como 5 <= x <= 90 donde se incluyen los extremos
(12, 20] interpretado como 12 < x <= 20 donde 12 no está incluido, pero se incluye 20
[12, 20) interpretado como 12 <= x < 20 donde se incluye 12, pero no se incluye 20
(500, inf) interpretado como x > 500, donde 500 no está incluido y el infinito siempre se expresa como "abierto" (no incluido). inf se puede omitir y lo anterior se puede escribir como (500)
(-inf, 10] interpretado como x <= 10, donde se incluye 10 y el infinito siempre se expresa como "abierto" (no incluido). inf se puede omitir y lo anterior 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 0 a 10 inclusive o 20
NOT (3,12) interpretado como x < 3 y x > 12
NOT 10,[1,5) todos los números, excepto 10, y excepto 1 hasta 5, sin incluir

Ubicación

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

Ejemplo Descripción
36.97, -122.03 la ubicación exacta está en la latitud 36.97, la longitud 122.03
40 miles from 36.97, -122.03 La ubicación está a 40 millas de 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 cuya esquina noroeste está en la latitud 72.33, la longitud -173.14 y en la esquina sudeste la latitud 14.39, la longitud -61.70
NOT NULL (works the same as -NULL) La ubicación tiene una latitud no nula y una longitud no nula (cuando se usa como parte de una expresión de filtro 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 no nula y una longitud no nula (cuando se usa como parte de una expresión de filtro 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 usan como parte de una expresión de filtro 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 usar estas unidades:

  • Metros
  • Pies
  • Kilómetros
  • Millas

No se admiten las unidades singulares de medición. Por ejemplo, filtrar por un radio de una milla debería escribirse within 1 miles of 36.97, -122.03.

Valores de los atributos de usuario

Para usar el valor de un atributo de usuario en una expresión de filtro, haga referencia al atributo de usuario con la _user_attributes Variable líquida:

{{ _user_attributes['name_of_attribute'] }}

Por ejemplo, supongamos que debes 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 de usuario, puede agregar un filtro coincidentes (avanzado) 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']}}

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