Las sugerencias de filtros son una herramienta muy útil en Looker. Es fundamental saber de dónde proceden y cómo funcionan para poder solucionar problemas de forma eficaz cuando las sugerencias de filtros no se comportan como se espera. En esta página se explica cómo funcionan las sugerencias de filtros, por qué pueden ser incorrectas y por qué pueden no aparecer.
¿Cómo funcionan las sugerencias de filtros?
Las sugerencias de filtros ahorran tiempo a los usuarios cuando introducen valores en los filtros y se aseguran de que elijan opciones que existen en los datos. Cuando los usuarios seleccionan un cuadro de filtro, aparece una lista de sugerencias debajo del campo. En este ejemplo, al seleccionar la casilla de un filtro del campo Estado en la exploración Pedidos, se muestra una lista desplegable con los valores "cancelado", "completado" y "pendiente".
¿De dónde procede esta lista de sugerencias?
Looker ejecuta una consulta SELECT distinct <field>
en la base de datos para obtener todas las opciones posibles de ese campo. La consulta es similar a la siguiente consulta SQL:
SELECT DISTINCT <field_name> FROM <table> WHERE (<field_name> LIKE '%' OR <field_name> LIKE '% %') GROUP BY 1 ORDER BY 1 LIMIT 1000
Cuando los usuarios introducen caracteres en el cuadro de filtro, Looker sustituye las condiciones adecuadas en la cláusula WHERE
para filtrar los resultados. A continuación, Looker muestra los primeros 1000 resultados en las sugerencias de filtros.
¿Puedo cambiar las sugerencias que se muestran?
Los desarrolladores pueden usar varios parámetros de LookML para cambiar y personalizar las sugerencias que aparecen. Consulta la página de documentación Cambiar sugerencias de filtros para obtener más información.
¿Se almacenan en caché las sugerencias?
De forma predeterminada, Looker almacena en caché los resultados de las consultas durante una hora. Puedes usar el parámetro de LookML suggest_persist_for
para personalizar la duración de la caché de las sugerencias de filtros. El parámetro suggest_persist_for
tiene el valor predeterminado "6 hours". Las sugerencias tienen su propia caché, que no se puede borrar manualmente desde una página Explorar. Si necesitas borrar la caché de las sugerencias, tienes varias opciones:
- Si la exploración se almacena en caché mediante un grupo de datos con un
sql_trigger
, puedes restablecer manualmente la caché de todo el grupo de datos en la página Grupos de datos del panel Administración de Looker, pero esto actualizará la caché de todas las consultas que se conserven mediante ese grupo de datos. - Puede usar el parámetro
suggest_persist_for
a nivel de campo y asignarle el valor "0 segundos" para invalidar la caché de sugerencias de filtros de ese campo.La caché es global para todos los usuarios. Si un usuario actualiza la caché de las sugerencias, afectará a los resultados que vean otros usuarios.
¿Por qué las sugerencias de filtros son incorrectas?
Ahora que ya sabes cómo se rellenan las sugerencias de filtros, puedes determinar por qué pueden ser incorrectas. La explicación más habitual es que los datos han cambiado o se han actualizado entre el momento en que se almacenaron en caché las sugerencias de filtros y el momento en que se detectaron los resultados incorrectos.
Por ejemplo, supongamos que el usuario A ejecuta una exploración a primera hora de la mañana. El usuario A selecciona algunos valores de filtro de la lista desplegable de sugerencias. El proceso de extracción, transformación y carga (ETL) de la base de datos finaliza aproximadamente media hora después. Después, el usuario B ve la misma exploración que el usuario A había ejecutado anteriormente. El usuario B se pregunta por qué las sugerencias de filtros son incorrectas. La razón de esta disparidad es que la consulta de sugerencias almacenada en caché no se actualizó con el proceso de ETL recién completado de la base de datos y, por lo tanto, mostró resultados inesperados.
Si es así, puedes actualizar la caché de sugerencias con los métodos descritos en la sección ¿Se almacenan en caché las sugerencias? de esta página.
¿Por qué no se rellenan las sugerencias de filtros?
Puede haber varios motivos por los que no se rellenan las sugerencias de filtros. Los siguientes pasos para solucionar problemas destacan las posibles causas:
- Comprueba el tipo de filtro.
- Comprueba si hay un
access_filter
o unsql_always_where
que restrinja las sugerencias. - Comprueba si hay un
suggest_dimension parameter
. - Comprueba si se intenta cargar sugerencias cuando un usuario selecciona o introduce texto en el filtro.
- Consulta la consola de red de Chrome.
- Busca pruebas de la consulta de sugerencias que Looker está intentando ejecutar.
Comprobar el tipo de filtro
Si se trata de un filtro de panel de LookML, asegúrate de que el tipo de filtro sea Campo. Otros tipos de filtros no rellenarán las sugerencias.
-
Asegúrese de que el campo de filtro sea de tipo
type: string
en su definición de LookML. Los filtros de los campos de tiponumber
no rellenarán sugerencias. - ¿Es un filtro de coincidencias (avanzado)? Los filtros de coincidencia (avanzados) requieren expresiones de Looker, por lo que no se mostrarán sugerencias.
Comprueba si hay un access_filter
o un sql_always_where
que restrinja las sugerencias
Normalmente, cuando se usa sql_always_where
o access_filter
, las sugerencias de filtros se restringen en esa exploración. De este modo, los usuarios no verán sugerencias de filtros a los que no pueden acceder. Si tiene la certeza de que no hay valores posibles en un campo de dimensión o filtro concreto que puedan revelar información sensible, puede usar bypass_suggest_restrictions
para volver a habilitar las sugerencias de filtros.
Comprobar si hay un suggest_dimension parameter
Cuando se usa el parámetro suggest_dimension
, las sugerencias de filtros no se rellenarán a menos que se haga referencia a la dimensión sugerida en una exploración cuya vista de dimensión se haya definido como la vista base de la exploración.
En las exploraciones en las que la vista de la dimensión sugerida no sea la vista base, añada el parámetro suggest_explore
, que hace referencia a la exploración en la que esa vista es la vista base.
Comprueba si se intenta cargar sugerencias cuando seleccionas o introduces texto en el filtro
Comprueba si Looker intenta cargar sugerencias cuando seleccionas o introduces texto en el cuadro de filtro. Looker debería mostrar un círculo de carga giratorio en la parte derecha del cuadro de filtro.
Si no es así, significa que Looker no está intentando rellenar las sugerencias. Comprueba que se cumplen las condiciones descritas en el primer paso y que las sugerencias no están desactivadas en el nivel de field
, view
o Explorar (con sql_always_where
o access_filter
) en LookML. Ten en cuenta que los dialectos de Hadoop añadirán suggestions: no
a todos los archivos de vista de forma predeterminada.
Si se intenta cargar sugerencias, sigue las instrucciones para comprobar la consola de red de Chrome.
Consultar la consola de red de Chrome
La consola de red de Chrome puede destacar un error en la propia consulta o mostrar si se han devuelto resultados de la caché.
- Abre la pestaña Red de tu navegador con la combinación de teclas Ctrl + Mayús + J (en Windows) o Comando + Opción + J (en Mac), o bien seleccionando Ver > Desarrollar > Herramientas para desarrolladores en la barra de opciones de Chrome, situada en la parte superior del navegador.
- Selecciona en el cuadro de filtro de tu look, exploración o panel de control.
- En el panel Herramientas para desarrolladores debería aparecer una solicitud de sugerencias de filtros, que puedes seleccionar para obtener más información.
- Los encabezados mostrarán la solicitud de API interna que Looker está haciendo para recuperar los valores de sugerencia. En este ejemplo, supongamos que Looker está haciendo la siguiente solicitud a la API, donde
<yourinstance>
representa la URL de tu instancia:<yourinstance>/api/internal/models/the_look/views/order_items/fields/users.state/suggestions?term=
- En la solicitud de la API, comprueba que el modelo que aparece después de
/models/
exista. En este ejemplo, el modelo se llamathe_look
. - Aunque la URL diga
/views/
, se refiere a la sección Explorar de la que procede el campo. Comprueba que exista el elemento Explorar que aparece después de/views/
. En este ejemplo, la Exploración se llamaorder_items
. - Comprueba que el campo que aparece después de
/fields/
exista. En este ejemplo, el campo esusers.state
.
La respuesta a esta solicitud de API mostrará el mensaje de error exacto. Por ejemplo, el código de estado de las sugerencias es 404 Not Found:
Selecciona la respuesta de esta solicitud para obtener más información.

En este caso, las sugerencias no funcionan porque no se puede encontrar el campo en función de la respuesta a la solicitud:
{"class":"FieldNotFound","text":"Field not found."}
Si no hay errores, pero tampoco sugerencias cuando deberían aparecer, comprueba si la consulta de sugerencias está obteniendo datos de la caché (cache: true
en la consola de red). Esto puede indicar que es necesario invalidar la caché mediante un parámetro suggest_persist_for
en la dimensión que ofrece sugerencias.
Buscar pruebas de la consulta de sugerencias que Looker está intentando ejecutar
Puedes consultar la página Consultas del panel Administración de Looker para comprobar que la consulta que genera el filtro (el campo Fuente de la página Consultas mostrará el valor Sugerencia de filtro) no genera ningún error. Selecciona el botón Detalles de la consulta y, a continuación, la opción Abrir en SQL Runner. Verifica que el SQL tenga una sintaxis correcta. Si detecta anomalías, como nombres de campos que faltan o caracteres especiales erróneos, compruebe que no esté usando parámetros de Liquid ni filtros basados en plantillas.
- Si la consulta requiere una entrada de filtro de plantilla para ejecutarse, no se mostrará ninguna sugerencia de filtro.
- Si la consulta usa un parámetro con un
default_value
, ese valor se insertará en la consulta de sugerencias de filtro. En este caso, la consulta de sugerencia de filtro no se actualizará dinámicamente en función de la entrada del usuario. En función del valor predeterminado, esto puede provocar que no se muestren sugerencias de filtros o que se muestren sugerencias incorrectas. En su lugar, puedes usar filtros vinculados en un panel de control.