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, puedes usarlas agregando un filtro y eligiendo la opción Coincidencias (avanzado). También se usan en LookML para 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 de
filters
para su uso adecuado). Esto es muy importante para valores lógicos comoNULL
.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 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 cadenas dependen de la configuración de
case_sensitive
del archivo de modelo y de si tu dialecto es compatible con la distinción entre mayúsculas y minúsculas. Por ejemplo, sicase_sensitive
está habilitado en tu modelo, la expresiónFOO%
no coincidirá con la palabra "comida". Sicase_sensitive
no está habilitado o si tu dialecto no admite la distinción entre mayúsculas y minúsculas, la expresiónFOO%
coincidirá con la palabra "comida".
Ejemplo | Descripción |
---|---|
FOO |
es igual a "FOO", exactamente |
FOO,BAR |
sea igual a "FOO" o "BAR", exactamente |
%FOO% |
contiene "FOO", coincide con "bufón" y "comida rápida" |
FOO% |
comienza con "FOO", coincide con "" y "comida", pero no con "bufón" ni "comida rápida" |
%FOO |
termina con “FOO”, coincide con “buffoo” y “fast foo”, pero no con “buffoon” ni “comida rápida” |
F%OD |
comienza con "F" y termina con "OD", coincide con "comida rápida" |
EMPTY |
la cadena está vacía (tiene cero caracteres) o es nula (sin valor) |
NULL |
El valor es nulo (cuando se use 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", "trash", "fun", pero no con "foo" |
-FOO,-BAR |
no es igual a "FOO" o "BAR", coincide con cualquier valor excepto "FOO" y "BAR" |
-%FOO% |
no contiene "FOO", no coincide con "bufón" ni "comida rápida" |
-FOO% |
no comienza con "FOO", no coincide con "foolish" ni "food" |
-%FOO |
no termina con "FOO", no coincide con "buffoo" ni "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 use 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 "BAR" exactamente, coincide con "food" y coincide con "bar" pero no con "barfood". |
FOO%,-FOOD |
comienza con "FOO", pero no es "FOOD". |
_UF |
tiene un solo carácter seguido de “UF”, coincide con “buffoon” |
Incluye caracteres especiales en filtros de cadenas
Ten en cuenta estas reglas si deseas incluir caracteres especiales en los filtros de cadenas:
- Para incluir
"
,%
o_
, usa el prefijo^
, el carácter de escape. Por ejemplo:^"
,^%
y^_
- Para incluir un
-
inicial, escapa como^-
. Esto solo es necesario si-
es el carácter inicial. No es necesario escapar-
si se encuentra dentro de la cadena. - Para incluir
^
, escapa como^^
. - Para incluir una coma en un filtro de string de IU normal, prefija la coma con un carácter de barra inversa,
\
. Por ejemplo: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, usa el prefijo del 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 cadenas cuando uses desgloses personalizados en el contenido de Looker. Consulta la sección Aspectos a tener en cuenta cuando vincules el contenido de Looker en la página de parámetros
Link
para obtener más información.
Fecha y hora
El filtrado de fechas de Looker permite usar frases en inglés en lugar de las 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 utilices determina si
{interval}
incluirá períodos parciales o solo períodos completos. Por ejemplo, la expresión3 days
incluye el día parcial actual, así como los dos días anteriores. La expresión3 days ago for 3 days
incluye los tres días completos anteriores y excluye el día parcial actual. 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 bien una fecha con el formato AAAA-MM-DD o AAAA/MM/DD. Cuando utilices 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 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 fechas:
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 la hora que especificaste. La expresión before 2018-01-01 mostrará datos de todas las fechas anteriores al 2018-01-01, pero no mostrará datos del 2018-01-01. |
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 2018-10-05 y todas las fechas posteriores a 2018-10-05. |
{time} to {time} |
2018-05-18 12:00:00 to 2018-05-18 14:00:00 |
El valor del 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 la hora “2018-05-18 12:00:00” a “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 principio del año en que se ejecuta la consulta hasta el comienzo del segundo en el que se ejecuta. this week to day muestra los datos desde el principio de la semana en que se ejecuta la consulta hasta el principio 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 muestra 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 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 muestran 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 enumerados 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 del operador 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 del operador Y: Escribe las condiciones, una por una, en varios filtros de fecha o de hora. Por ejemplo, puedes colocar
after 2014-01-01
en un filtro Fecha de creación y, luego, colocarbefore 2 days ago
en un filtro Hora de creación. Esto significa “1 de enero de 2014 en adelante y antes de 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 al crear 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 |
desde el 10/05/2018 de 00:00:00 hasta el 12/05/2018 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 |
en todo el mes de 2018/05 |
2018/05 for 2 months |
en los meses completos de 2018/05 y 2018/06 |
2018/05/10 05:00 for 5 hours |
desde el 10/05/2018 de 05:00:00 hasta el 10/05/2018 09:59:59 |
2018/05/10 for 5 months |
desde el 10/05/2018 de 00:00:00 hasta el 9/10/2018 23:59:59 |
2018 |
todo el año 2018 (2018/01/01 00:00:00 a 2018/12/31 23:59:59) |
FY2018 |
año fiscal completo a partir de 2018 (si tus desarrolladores de Looker especificaron que tu año fiscal comienza en abril, desde el 01/04/2018 a las 00:00 hasta el 31/03/2019 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, desde el 01/04/2018 desde las 00:00:00 hasta el 30/06/2018 23:59:59) |
Fechas relativas
Los filtros de fechas relativas te permiten crear consultas con valores de fecha progresiva relacionados con la fecha actual. Estos son útiles cuando creas consultas que se actualizan cada vez que ejecutas la consulta.
Para todos los ejemplos que aparecen a continuación, supongamos que hoy es viernes, 18/05/2018 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 (2018/05/18 18:29:02 a 2018/05/18 18:30:01) |
60 seconds ago for 1 second |
Hace 60 segundos por 1 segundo (2018/05/18 18:29:02) |
Minutos
Ejemplo | Descripción |
---|---|
1 minute |
el minuto actual (18/05/2018 de 18:30:00 a 18:30:59) |
60 minutes |
Hace 60 minutos por 60 minutos (2018/05/18 17:31:00 a 2018/05/18 18:30:59) |
60 minutes ago for 1 minute |
Hace 60 minutos por 1 minuto (2018/05/18 17:30:00 a 2018/05/18 17:30:59) |
Horas
Ejemplo | Descripción |
---|---|
1 hour |
la hora actual (2018/05/18 18:00 a 2018/05/18 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 (2018/05/18 00:00 a 2018/05/18 23:59) |
2 days |
todo ayer y hoy (2018/05/17 00:00 a 2018/05/18 23:59) |
1 day ago |
recién 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, a partir de la medianoche, para los próximos 7 días (del 18/05/2018 a las 12:00 a.m. hasta el 24/05/2018 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 |
7 días en el futuro (2018/05/25 00:00 a 2018/05/25 23:59) |
Semanas
Ejemplo | Descripción |
---|---|
1 week |
la parte superior de la semana actual en adelante (2018/05/14 00:00 a 2018/05/20 23:59) |
this week |
la parte superior de la semana actual en adelante (2018/05/14 00:00 a 2018/05/20 23:59) |
before this week |
en cualquier momento hasta el final de esta semana (antes del 14/05/2018 a las 00:00) |
after this week |
en cualquier momento después del último día de esta semana (14/05/2018 a las 12:00 a.m.) |
next week |
El lunes siguiente, en adelante, una semana (2018/05/21 00:00 a 2018/05/27 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 1 semana" |
1 week ago |
Hace una semana, el lunes, luego, hace 1 semana (2018/05/07 00:00 a 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 "hace 0 meses" (2018/05/01 00:00 a 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 2018/04 |
2 months ago |
todo el 2018/03 |
before 2 months ago |
desde el 01/03/2018 |
next month |
todo el 2018/06 |
2 months from now |
todo el 2018/07 |
6 months from now for 3 months |
2018/11/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 "hace 0 trimestres" (2018/04/01 00:00 a 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 T1 (2018/01/01 00:00 a 2018/03/31 23:59) |
2 quarters ago |
todo el T4 del año pasado (2017/010/01 00:00 a 2017/12/31 23:59) |
before 2 quarters ago |
desde el inicio hasta el 4° trimestre del año pasado |
next quarter |
todo el trimestre siguiente (2018/07/01 00:00 a 2018/09/30 23:59) |
2018-07-01 for 1 quarter |
todo el T3 (2018/07/01 00:00 a 2018/09/30 23:59) |
2018-Q4 |
Todo el T4 (2018/10/01 00:00 a 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 usarlast fiscal quarter
.
Años
Ejemplo | Descripción |
---|---|
1 year |
todo el año (2018/01/01 00:00 a 2018/12/31 23:59) |
this year |
todo el año (2018/01/01 00:00 a 2018/12/31 23:59) |
next year |
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 el 2017 |
2 years ago |
todo el 2016 |
before 2 years ago |
todo el período anterior al 01/01/2016 (no incluye los días entre el 01/01/2016 y el 18/05/2016) |
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 usarlast fiscal year
.
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 |
se evalúa como verdadero
Si eres desarrollador de Looker, usa minúsculas para las dimensiones de type: yesno . Para los parámetros de filters (como los que se usan en una medición o los que se usan en una always_filter ), usa mayúsculas. |
no o No |
se evalúa como false
Si eres desarrollador de Looker, usa minúsculas para las dimensiones de type: yesno . Para los parámetros de filters (como los que se usan en una medición o los que se usan en una always_filter ), usa mayúsculas. |
TRUE |
El campo contiene verdadero (para los campos que contienen valores de base de datos booleanos) |
FALSE |
el campo contiene false (para los campos que contienen valores de base de datos booleanos) |
Número
Los filtros de 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
) a fin de especificar un rango. Los filtros de 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 de filtro numéricas con
NOT
no sea intuitiva. Si la primera condición de filtro contiene unNOT
y ninguna otra condición de filtro contiene unNOT
, se invalidarán todas las condiciones de filtro. Consulta los siguientes ejemplos para obtener más información.
Ejemplo | Descripción |
---|---|
5 |
es exactamente 5 |
NOT 5
<>5
!=5 |
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 o 4, exactamente |
>1 AND <100, NOT 2 |
es mayor que 1 e menor que 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 valor 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 inferior o igual a 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 use 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 use 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. Aunque esta notación se asemeja a un par ordenado, en este contexto se refiere al intervalo en el que estás trabajando. |
[5, 90] |
se interpreta como 5 <= x <= 90 cuando se incluyen los extremos. |
(12, 20] |
interpreta como 12 < x <= 20, donde 12 no se incluye, pero 20 sí se incluye. |
[12, 20) |
interpreta como 12 <= x < 20, donde 12 se incluye, pero 20 no se incluye. |
(500, inf) |
interpreta como x > 500 donde 500 no se incluye y el infinito siempre se expresa como "abierto" (no incluido). Se puede omitir inf y (500, inf) se puede escribir como (500,). |
(-inf, 10] |
interpreta como x <= 10, donde 10 se incluye 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] |
números entre 0 y 9 inclusive o 20 a 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 de filtro de ubicación se basan en la latitud y la 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 está a menos de 64 km de la latitud 36.97 y la longitud de -122.03 |
inside box from 72.33, -173.14 to 14.39, -61.70 |
La ubicación está dentro de un cuadro cuya esquina noroeste está en la latitud 72.33, longitud de -173.14 y cuya esquina sureste está en la latitud 14.39 y 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 use 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 no nula y una longitud no nula (cuando se use 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 use 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 únicas. Por ejemplo, para filtrar por un radio de una milla, se debe escribir within 1 miles of 36.97, -122.03
.
Valores de 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 Liquid _user_attributes
:
{{ _user_attributes['name_of_attribute'] }}
Por ejemplo, supongamos que debes aplicar un prefijo sf_
al valor del atributo de usuario salesforce_username
, ya que 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 (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']}}
Puedes usar el mismo patrón para insertar atributos de usuario en los filtros del panel y los filtros de elementos del panel de LookML.