Forum Discussion
How to hide visual for specific users
Hi Expert,
In my report page, there are 1 pie chart, 1 line chart and 1 matrix.
I need to hide the matrix for a specific user, so that when he access the report from power bi service, he can view only pie chart and line chart but not the matrix.
Can we achieve the same in power bi?
Thanks and Regards,
Tushar Gaurav
TusharGaurav You can use RLS
Go to the "Modeling" tab.
Click on "Manage Roles."
Create a new role and define the DAX filter that will be used to control access.Publish your report to Power BI Service.
Go to the dataset settings in Power BI Service.
Click on "Security."
Assign users to the roles you created.Use the DAX filter to control the visibility of the matrix visual. You can create a measure that returns a value based on the user's role and use this measure to control the visibility of the matrix.
IsMatrixVisible = IF(USERPRINCIPALNAME() = "[email protected]", 0, 1)
5 Replies
- bhanu_gautamSuper User
TusharGaurav You can use RLS
Go to the "Modeling" tab.
Click on "Manage Roles."
Create a new role and define the DAX filter that will be used to control access.Publish your report to Power BI Service.
Go to the dataset settings in Power BI Service.
Click on "Security."
Assign users to the roles you created.Use the DAX filter to control the visibility of the matrix visual. You can create a measure that returns a value based on the user's role and use this measure to control the visibility of the matrix.
IsMatrixVisible = IF(USERPRINCIPALNAME() = "[email protected]", 0, 1)
- 123abcCommunity Champion
what a excellent solution. Thank you so mcuh. its solved my many issues.😍
- DekuSuper User
I think the best you can do is row level security, but the user will get a error on the matrix, rather than it being hidden. I assume the reason for hiding is security related.
If you had a app then you could think about audiences, with a secure report and a more general report
- DineshYadlHelper I
Hi TusharGaurav
By using RLS you can hide visual for specific users. With the help of USERNAME() DAX function. This function will capture the domain and username from the credentials given to the system at connection time.
DAX syantax
username= IF(CONTAINS(UsersTable,UsersTable[login], USERNAME()), "Allowed", BLANK())
In model view ---> Manage roles ---> create Role (User) with the help of USERNAME() DAX function
For data validation click on View as --> select the "User" role
It will restrict the data based on the domain name and username of the system.
Thanks
- TusharGauravHelper III