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 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 |
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 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 |
value 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 "buffoon" ni "fast food" |
-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 |
value of column is not null (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 cadenas:
- Para incluir
"
,%
o_
, agrega el prefijo con el carácter de escape,^
. Por ejemplo,^"
,^%
y^_
- Para incluir un
-
inicial, evítalo como^-
. Esto solo es necesario si-
es el carácter inicial. No es necesario escapar-
si está dentro de la cadena. - Para incluir
^
, evítalo como^^
. - Para incluir una coma en un filtro de cadena de IU normal, antepón la coma con un carácter de barra invertida,
\
. Por ejemplo:Santa Cruz\, CA
. - Para incluir una coma con la opción matches (advanced) en un filtro, agrega el prefijo
^
al 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
^
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
En 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 períodos completos. Por ejemplo, la expresión3 days
incluye el día parcial actual y 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 una fecha con el formato AAAA-MM-DD o AAAA/MM/DD. Cuando uses el formato AAAA-MM-DD, asegúrate de incluir los dos dígitos del mes y el día, por ejemplo, 2016-01. Si truncas un mes o un día a un solo dígito, se interpretará como un desplazamiento, 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 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 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 especificas. Por lo tanto, la expresión after 2018-10-05 mostrará los datos del 5/10/2018 y todas las fechas posteriores. |
{time} to {time} |
2018-05-18 12:00:00 to 2018-05-18 14:00:00 |
El valor de hora 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" a través de "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 muestra datos desde el comienzo del año en el que se ejecuta la consulta hasta el comienzo del segundo en el que se ejecuta. this week to day muestra los datos desde el comienzo de la semana en la que se ejecuta la consulta hasta el comienzo del día en el 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 Fecha del grupo de dimensiones, 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 viene después de él. La expresión Dimension Group Date matches (advanced) before Monday muestra todos los días anteriores al 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 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 se muestra todos los lunes. |
next {week, month, quarter, fiscal quarter, year, fiscal year} |
next week |
La palabra clave next es única en el sentido de 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 O, 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 o hora. Por ejemplo, puedes colocar
after 2014-01-01
en un filtro de Fecha de creación y, luego, colocarbefore 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 cuando se crean 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 00:00:00 hasta el 12/05/2018 23:59:59 |
after 2018/05/10 |
10/05/2018 00:00:00 y versiones posteriores |
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 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 2018 (del 1/1/2018 00:00:00 al 31/12/2018 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 que comienza en 2018 (si tus desarrolladores de Looker especificaron que tu año fiscal comienza en abril, este período es del 1/4/2018 00:00:00 al 30/6/2018 23:59:59) |
Fechas relativas
Los filtros de fecha relativa te permiten crear consultas con valores de fecha continua 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, supongamos que hoy es viernes, 18/05/2018 6:30:02 p.m.. 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 18:29:02 al 18/05/2018 18: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 |
el minuto actual (del 18/05/2018 6:30:00 p.m. al 6:30:59 p.m.) |
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 (del 18/05/2018 17:30:00 al 18/05/2018 17:30:59) |
Horas
Ejemplo | Descripción |
---|---|
1 hour |
la hora actual (del 18/05/2018 a las 6:00 p.m. al 18/05/2018 a las 6:59 p.m.) |
24 hours |
la misma hora del día que hace 24 horas durante 24 horas (del 17/05/2018 a las 7:00 p.m. al 18/05/2018 a las 6:59 p.m.) |
24 hours ago for 1 hour |
la misma hora del día que hace 24 horas durante 1 hora (del 17/05/2018 a las 6:00 p.m. hasta el 17/05/2018 a las 6:59 p.m.) |
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 |
ayer (del 17/05/2018 a las 00:00 al 17/05/2018 a las 23:59) |
7 days ago for 7 days |
los últimos 7 días completos (del 11/05/2018 a las 00:00 hasta el 17/05/2018 a las 23:59) |
today for 7 days |
el día actual, a partir de la medianoche, durante 7 días (del 18/05/2018 a las 00:00 hasta el 24/05/2018 a las 23:59) |
last 3 days |
Desde hace 2 días hasta el final del día actual (del 16/05/2018 a las 00:00 hasta el 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 hasta el 25/05/2018 a las 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 |
a partir del principio de la semana actual (del 14/05/2018 a las 00:00 al 20/05/2018 a las 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 inicio de esta semana (14/05/2018 a las 00:00 a.m. o una fecha posterior) |
next week |
El lunes siguiente y durante 1 semana (del 21/05/2018 a las 00:00 al 27/05/2018 a las 23:59) |
2 weeks |
Hace una semana, desde el lunes (del 07/05/2018 a las 00:00 hasta el 20/05/2018 a las 23:59) |
last week |
sinónimo de "hace 1 semana" |
1 week ago |
Hace una semana, lunes en adelante, 1 semana (del 07/05/2018 a las 00:00 al 13/05/2018 a las 23:59) |
Meses
Ejemplo | Descripción |
---|---|
1 month |
el mes actual (del 1/5/2018 a las 00:00 al 31/5/2018 a las 23:59) |
this month |
Es un sinónimo de "0 meses atrás" (del 1/5/2018 a las 00:00 al 31/5/2018 a las 23:59). |
2 months |
los últimos dos meses (del 1/4/2018 a las 00:00 al 31/5/2018 a las 23:59) |
last month |
todo 2018/04 |
2 months ago |
todo el 2018/03 |
before 2 months ago |
all time before 2018/03/01 |
next month |
todo 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 "0 trimestres anteriores" (del 01/04/2018 a las 00:00 al 30/06/2018 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 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 4ᵉʳ trimestre del año pasado (del 1ᵉʳ de enero de 2017 a las 00:00 al 31 de diciembre de 2017 a las 23:59) |
before 2 quarters ago |
todos los tiempos anteriores al 4° 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 4ᵉʳ trimestre (del 1ᵉʳ de octubre de 2018 a las 00:00 al 31 de diciembre de 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 (del 01/01/2019 a las 00:00 al 31/12/2019 a las 23:59) |
2 years |
los últimos dos años (del 1/1/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 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 estás interactuando.
Ejemplo | Descripción |
---|---|
yes o Yes |
campo se evalúa como verdadero
Desarrolladores de Looker: Para las dimensiones type: yesno , usa minúsculas. Para los parámetros filters (como los que se usan en una métrica o en un always_filter ), usa mayúsculas. |
no o No |
campo se evalúa como falso
Desarrolladores de Looker: Para las dimensiones type: yesno , usa minúsculas. Para los parámetros filters (como los que se usan en una métrica o en un always_filter ), usa mayúsculas. |
TRUE |
campo contiene verdadero (para campos que contienen valores de base de datos booleanos) |
FALSE |
field contains false (para 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
) para especificar un rango. Los filtros de números también pueden usar la notación de intervalo algebraico 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 y 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á la sentencia 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 y menor o igual que 20, o 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 asemeja a un par ordenado, en este contexto hace referencia al intervalo en el que estás trabajando. |
[5, 90] |
se interpreta como 5 <= x <= 90, donde se incluyen los extremos. |
(12, 20] |
se interpreta como 12 < x <= 20, donde no se incluye 12, pero sí 20 |
[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 (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 20 |
NOT (3,12) |
se interpreta como x < 3 y x > 12 |
Ubicación
Las expresiones del filtro de ubicación se basan en la latitud y la longitud, pero pueden aceptar 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 un radio de 64.3 kilómetros de latitud 36.97 y 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 y la longitud -173.14, y cuya esquina sureste está en la latitud 14.39 y la longitud -61.70. |
NOT NULL (works the same as -NULL) |
location 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) |
location 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 |
location tiene una latitud o una longitud nulas, 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 usar estas unidades:
- Metros
- Pies
- Kilómetros
- Millas
No se admiten unidades de medida singulares. Por ejemplo, el filtrado para un radio de una milla debe 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, haz referencia al atributo de usuario con la variable Liquid _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 del usuario, puedes agregar un filtro matches (advanced) en el campo relevante y usar la variable 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 de usuario en los filtros de panel y los filtros de elementos de panel de LookML.