How to 'freeze' filter on top control based on passed parameter via SDK?

I have SDK calls embedding dashboard URLs with parameters and that is part of 10 controls filter on the dashboard.

Let’s say, for the Supplier filter in the dashboard, SDK calls embedding dashboard url method with #p.FilterSupplier=XYZ%20ELECTRONICS

then, the dashboard will show results that are pre-filtered by ‘Supplier of XYZ Electronics’.

Now, currently, this filter in Dashboard still shows every Supplier, and the user can still select and change it.

I want to prevent that from happening. Since the user is already on the ‘XYZ Electronics’ page, the user shouldn’t be able to change this value. So, ideally, just make it grayed-out .
(all other filters are available for the user, still)

Is this doable?

Hi @tbdori,

If you don’t want users to be able to change the filter, can you use the parameter to set the filter but not put the filter in the control bar?

If you just want to show the filter so that the user knows what they’re looking at, you can consider displaying the parameter value in your visual title or sheet title.

2 Likes

This dashboard is shared on two different pages. To differentiate usage, we use them as global scope and entity scope.

Let’s say there are A,B,C,D,E filter in the control.

  • global page: no prefilter is set. user will be able to select / choose any of A, B , C , D ,E filter.

  • entity page: If the user opens one of A Entities, preselected value of A is set, then user should be able to change B, C, D, E filter only.
    If the user opens one of B Entities, preselected value of B is set, then user should be able to change A, C, D, E filter only.

In this scenario, can I hide a filter based on passed param? It’s not static filter type.
So, for the entity page example above, when user opens one of A entities, hide filter A. When user opens one of B entities, hide filter B ?

You can only hide the filter based on a parameter if it’s on your sheet and in free-form layout.

image

2 Likes

If the filters have to be in the control bar, the other way would be to create 5 different versions of your dashboard, each with a different filter removed, and embed the correct version based on the entity selected by the user. I can’t think of any other way.

2 Likes