The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hi Team,
Here is the requirement:
We have a Power BI report that is embedded and shared across all clients. The report structure and visuals are the same for everyone. However, there is a specific business use case where one particular client requires 4 to 5 additional filters (slicers) for further analysis or Business use case. Those filters will provide in One another Dimensional table. And here we have already existing BI Layer Table. So we need to common key as resource id to map with Our existing table.
We want to make these additional filters visible only to that specific client, while hiding them from all other clients. At the same time, we need to maintain a single version of the report (not create multiple versions for different clients).
Please provide a solution on how this can be achieved using Power BI (possibly with DAX, RLS, or conditional formatting).
Please provide valuable inputs and any Documentation available on this.
Thnaks !!
Solved! Go to Solution.
Thankyou, @burakkaragoz, @rohit1991, for your response.
Hi rajkumard44,
We appreciate your question in the Microsoft Fabric Community Forum.
From what I understand, Power BI does not support showing or hiding slicers directly based on conditions using DAX or RLS. While you can filter visuals using RLS or DAX measures, slicers themselves cannot be made visible or invisible conditionally. So, having slicers only for specific clients cannot be done using DAX or RLS alone.
To show slicers conditionally for a particular client (for example: clientB@xyz.com) in Power BI Desktop or Embedded without making multiple copies of the report, you can use a combination of Row-Level Security (RLS), Bookmarks, Selection Pane, and DAX-based visibility toggle.
Please see the attached sample PBIX file for the solution. Follow these steps:
Also, please check these helpful links:
Row-level security (RLS) with Power BI - Microsoft Fabric | Microsoft Learn
Create report bookmarks in Power BI - Power BI | Microsoft Learn
Security in Power BI embedded analytics - Power BI | Microsoft Learn
We hope this information helps you fix the issue. If you have any more questions, please feel free to ask in the Microsoft Fabric community.
Thank you.
Hi rajkumard44,
We are following up to see if your query has been resolved. Should you have identified a solution, we kindly request you to share it with the community to assist others facing similar issues.
If any response was helpful, please mark it as the accepted solution, as this helps the broader community.
Should you have any further queries, kindly feel free to contact the Microsoft Fabric community.
Thank you.
Hi rajkumard44,
We would like to know if the details we shared have helped solve your problem. If you require any additional assistance, feel free to connect with the Microsoft Fabric community.
Thank you.
Hi rajkumard44,
We would like to follow up and see whether the details we shared have resolved your problem.
If you need any more assistance, please feel free to connect with the Microsoft Fabric community.
Thank you.
Thankyou, @burakkaragoz, @rohit1991, for your response.
Hi rajkumard44,
We appreciate your question in the Microsoft Fabric Community Forum.
From what I understand, Power BI does not support showing or hiding slicers directly based on conditions using DAX or RLS. While you can filter visuals using RLS or DAX measures, slicers themselves cannot be made visible or invisible conditionally. So, having slicers only for specific clients cannot be done using DAX or RLS alone.
To show slicers conditionally for a particular client (for example: clientB@xyz.com) in Power BI Desktop or Embedded without making multiple copies of the report, you can use a combination of Row-Level Security (RLS), Bookmarks, Selection Pane, and DAX-based visibility toggle.
Please see the attached sample PBIX file for the solution. Follow these steps:
Also, please check these helpful links:
Row-level security (RLS) with Power BI - Microsoft Fabric | Microsoft Learn
Create report bookmarks in Power BI - Power BI | Microsoft Learn
Security in Power BI embedded analytics - Power BI | Microsoft Learn
We hope this information helps you fix the issue. If you have any more questions, please feel free to ask in the Microsoft Fabric community.
Thank you.
Hi @rajkumard44 - Here's how you can achieve it without duplicating the report:
Use RLS for user detection: Create a mapping table where each client (e.g., UserEmail or ClientID) is assigned a role or flag like ShowAdvancedFilters = TRUE/FALSE. Apply RLS using UserPrincipalName() or embedding token.
Control slicer visibility using bookmarks: Power BI doesn't support hiding slicers dynamically via DAX. Instead:
Create two bookmarks- one with advanced slicers, one without.
Use buttons tied to the user flag (e.g., ShowAdvancedFilters) to toggle between them.
You can use a disconnected helper table and DAX measure to enable/disable the toggle button visibility for the right client.
Ensure RLS works in embedded scenario: When embedding, pass the client identity via Azure AD or embed token with EffectiveIdentity. This ensures the correct view (and buttons/bookmarks) are shown.
Hi @rajkumard44 ,
This is a great use case, and yes — it’s possible to achieve this without duplicating the report. Here’s a way to handle it using Row-Level Security (RLS) and conditional visibility:
Use RLS to Identify the Client\ Create a security table that maps users (or client IDs) to their access level. For example:
UserEmail ClientTypeclientA@domain.com | Standard |
clientB@domain.com | Extended |
Then apply RLS on this table and relate it to your main model using resource id or another key.
Create a DAX Measure to Control Visibility\ Define a measure like this:
ShowExtraFilters = IF( SELECTEDVALUE(SecurityTable[ClientType]) = "Extended", 1, 0 )
Use the Measure in Visual-Level Filters\ For each of the extra slicers, go to the Visual-level filters pane and add ShowExtraFilters = 1. This will make those slicers visible only when the logged-in user belongs to the "Extended" client group.
Embed with Effective Identity\ When embedding the report, make sure to pass the correct user identity so RLS can apply properly. This is supported in Power BI Embedded via the effectiveIdentity parameter.
This way, you maintain a single report, but dynamically control what each client sees based on their identity.
Let me know if you want help setting up the RLS table or the embedding config.
If my response resolved your query, kindly mark it as the Accepted Solution to assist others. Additionally, I would be grateful for a 'Kudos' if you found my response helpful.
Translation and text formatting supported by AI assistance