Tableau and Looker generally do not persist filter...
# gooddata-cloud
p
Tableau and Looker generally do not persist filter selections by default when a page is hard reloaded or when a user leaves and re-enters a dashboard. In GD there are filter contexts, but this behavior can be confusing. In an embedded approach, how can I use the page url to persist context in lieu of fitercontexts? for example" sometthingsite?storeId=6
i
Hi Patrick, What should be the outcome, please? Dashboard filtered at certain value for all users/viewers without option to override the filters? Or should there be some data restriction in play as well?
p
Looking to track state in for filter context. In an embedded environment, I would see us bubbling this state up into the parent. Not sure what the technical outcome. But in an embedded environment, I see us adding filters the parent window url. I am trying not to have to manually keep track of the filterContext in the app.
Does that help?
i
Sure thing, thanks a lot. Please let me check internally what would be the best and easiest way to set the filter context for embedded dashboards. I will get back to you with my findings as soon as possible.
m
You can set the setFilterContext command to define one or more filter definitions. The filter configuration overrides any filters that the dashboard may already have, such as existing attribute and date filters, URL filters, previous filter configuration, and so on. Commands are incoming messages sent from your application to the embedded dashboard to apply actions; a full list can be found in our documentation. Let us know if this helps.
p
I checked with the team, and this is for iFrames, we use their React components to embed dashboards. How do we do this with that?
m
I see. Let me consult this with our technical team and we will get back to you with an answer as soon as possible.
r
Hi Patrick, Radek from the GoodData technical team here! The React alternative would be using dispatch commands, kind of like this:
Copy code
useDispatchDashboardCommand(
    changeAttributeFilterSelection,
  );
But ultimately, you would still have to store the filter state in your app and enforce it on reload. Another customer of ours was working on something similar a little while back, you might be able to find some inspiration in this thread! 🙂
🙌 1