Forum Discussion
Hide Visuals for Specific Users or Group
1. can i hide certain visuals for specific users or group?
example i have bar chart , line chart and pie chart in one page of report. i want to show only bar chart and pie chart to finance users and only line chart to Marketing users
2. can i show different color for same chart for specific users or group?
example i have bar chart , line chart and pie chart in one page of report. i want to show only bar chart and pie chart with white bakcground to finance users and only line chart with grey background to Marketing users
- Anonymous1 year ago
Hi powerbiexpert22 ,
Thank you for the follow-up,I would be happy to assist you!- Create 3 measures for each visual .
ShowBarChart =
IF(
MAX(SalesData[Department]) = "Finance",
1,
0
)ShowLineChart =
IF(
MAX(SalesData[Department]) = "Marketing",
1,
0
)ShowPieChart =
IF(
MAX(SalesData[Department]) = "Finance",
1,
0
) - To control the visibility of visuals based on user roles, add the desired chart type to your report (such as a bar chart, line chart, or pie chart), then navigate to the filter pane for that visual and apply the corresponding visibility filter: for a Bar Chart, set the filter ShowBarChart = 1; for a Line Chart, use ShowLineChart = 1; and for a Pie Chart, apply ShowPieChart = 1. This ensures that each visual is only displayed when the corresponding condition is met.Refer the screenshot:
-
Create an RLS rule on UserAccess:
[UserName] = USERPRINCIPALNAME()
- Refer the screenshots below:
- Please refer the attached file.
I hope this answer resolve your query.If so,give us kudos and consider accepting it as solution.
Regards,
Pallavi. - Create 3 measures for each visual .
9 Replies
- Akash_VarunaSuper User
powerbiexpert22 Yes, you can hide certain visuals for specific users or groups by using Row-Level Security (RLS) with a permissions table and DAX measures to conditionally show visuals based on user roles. For example, create a measure like ShowVisual and filter visuals using it. Similarly, to show different colors for the same chart, create a DAX measure for background or data color based on user roles and apply it via conditional formatting.
- powerbiexpert22Impactful Individual
Hi Akash_Varuna ,
i created filter ShowVisual which has defult value 1 and assign to all charts, please see attached pbix for reference , what should be the next step? which permission table i have to create?
https://drive.google.com/file/d/1TXJ5-35sfsbFAYBj6Ey-Os0AOG0ZnOUz/view?usp=drive_link
- AnonymousNot applicable
Hi powerbiexpert22 ,
Thank you Akash_Varuna for the helpful response!
Create a new measure using the below DAX :
ShowVisualAccess =
VAR CurrentUser = USERNAME()
RETURN
CALCULATE(
MAX(yourtable[ShowVisual]),
FILTER(yourtable, yourtable[UserRole] = CurrentUser)
)
Drag the ShowVisualAccess measure into the Filters on this visual pane. Set the filter to "is 1".
Hope this resolve your query.if so,consider accepting it as solution.
Thank you.
Regards,
Pallavi.
- Akash_VarunaSuper User
powerbiexpert22 create a permissions table with user roles and a ShowVisual column (1 for visible, 0 for hidden).if you already have a table then import that . Define roles in Power BI's Manage Roles and filter the permissions table accordingly. Update the ShowVisual measure to check the user’s role and apply it as a visual-level filter use USERNAME function
- powerbiexpert22Impactful Individual
- powerbiexpert22Impactful Individual
Hi Anonymous , Akash_Varuna
can you please suggest on this how can it be done?
- AnonymousNot applicable
Hi powerbiexpert22 ,
Thank you for the follow-up,I would be happy to assist you!- Create 3 measures for each visual .
ShowBarChart =
IF(
MAX(SalesData[Department]) = "Finance",
1,
0
)ShowLineChart =
IF(
MAX(SalesData[Department]) = "Marketing",
1,
0
)ShowPieChart =
IF(
MAX(SalesData[Department]) = "Finance",
1,
0
) - To control the visibility of visuals based on user roles, add the desired chart type to your report (such as a bar chart, line chart, or pie chart), then navigate to the filter pane for that visual and apply the corresponding visibility filter: for a Bar Chart, set the filter ShowBarChart = 1; for a Line Chart, use ShowLineChart = 1; and for a Pie Chart, apply ShowPieChart = 1. This ensures that each visual is only displayed when the corresponding condition is met.Refer the screenshot:
-
Create an RLS rule on UserAccess:
[UserName] = USERPRINCIPALNAME()
- Refer the screenshots below:
- Please refer the attached file.
I hope this answer resolve your query.If so,give us kudos and consider accepting it as solution.
Regards,
Pallavi. - Create 3 measures for each visual .
- AnonymousNot applicable
Hi powerbiexpert22 ,
May I ask if you have gotten this issue resolved?If it is solved, please mark the helpful reply or share your solution and accept it as solution, it will be helpful for other members of the community who have similar problems as yours to solve it faster.
Thank you. - AnonymousNot applicable
Hi powerbiexpert22 ,
I wanted to check in on your situation regarding the issue. Have you resolved it? If you have, please consider marking the reply that helped you or sharing your solution. It would be greatly appreciated by others in the community who may have the same question
Thank you.