如何将新过滤器添加到嵌入式Looker面板中



我正在嵌入式Looker报表上使用JavaScript事件,并试图更新其上的筛选器。dashboard:filters:update方法允许我用新的筛选器更新仪表板,这似乎是合理的,但文档明确提到这是不可能的,尽管它没有提到我实际上是如何向仪表板添加新的筛选器的。

我是否需要在additional_filters作为有效负载对象的一部分传递的情况下运行dashboard:load事件?或者,如何向尚未应用任何筛选器的仪表板添加筛选器?有这样的例子吗?

我当前的代码(点击按钮触发(看起来是这样的,但过滤器没有应用:

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,
);
}

我是否应该触发不同的事件或可以传递不同的属性?

在这种情况下,这里的关键是"添加";过滤。就我而言,公司过滤器已经存在于仪表板上,只是没有在UI中应用任何值。尽管它没有价值,但这并不意味着我必须";添加";运行此事件仍然有效,因为它只是一个更新。

文档意味着,如果您需要向仪表板添加一个全新的过滤器,则需要通过Looker仪表板配置来完成此操作。

最新更新