Estoy usando eventos de JavaScript en un informe de Looker incrustado e intento actualizar los filtros en él. Parece razonable que el método dashboard:filters:update me permita actualizar un tablero con nuevos filtros, pero la documentación menciona explícitamente que esto no se puede hacer, aunque no menciona cómo puedo agregar nuevos filtros a un tablero.
¿Necesito ejecutar el panel: evento de carga con filtros additional_filters pasados como parte del objeto de carga útil? ¿O cómo puedo agregar filtros a un tablero que aún no tiene ningún filtro aplicado? ¿Hay algún ejemplo de esto?
Mi código actual (activado al hacer clic en el botón) se ve así, pero los filtros no se aplican:
const handleButtonClick = () => { const lookerIframe = document?.querySelector('iframe')?.contentWindow; const eventPayload = { type: "dashboard:load", id: "looker_dashboard_id", dashboard_filters: { "Company Name": "XYZ Corp" }, }; lookerIframe.postMessage( JSON.stringify(eventPayload), lookerDashboardUrl, ); }¿Hay un evento diferente que debería desencadenar o una propiedad diferente que pueda pasar?
En esta situación, la clave aquí es la definición de "agregar" un filtro. Para mis propósitos, el filtro Empresa ya existía en el tablero, solo que no se había aplicado en la interfaz de usuario con ningún valor. Aunque no tenía ningún valor, esto no significaba que tenía que "agregarlo", ejecutar este evento seguía siendo válido porque era simplemente una actualización.
La documentación significa que si necesita agregar un filtro completamente nuevo al tablero, deberá hacerlo a través de la configuración del tablero de Looker.