Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
Analyst001
Frequent Visitor

Hiding an entire column for specified users by RLS

Hello Friends, I need help on creating Row Level Security to hide the entire column. I tried creating roles in RLS but it is only filtering values.

Is there anything like column-level security in power BI?

 

Thank you in advance.

3 ACCEPTED SOLUTIONS
Fowmy
Super User
Super User

@Analyst001 

You can achieve this using Object Level Security (OLS). Please refer to the following article on how to apply.

https://www.fourmoo.com/2021/03/02/configure-ols-in-power-bi-using-tabular-editor-to-limit-access-to...


 

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

View solution in original post

mmace1
Impactful Individual
Impactful Individual

Object-Level-Security is now natively avaiable in Power BI 

https://powerbi.microsoft.com/en-us/blog/object-level-security-ols-is-now-generally-available-in-pow...

I haven't actually had a reason to use it yet, but it seems like exactly what you need. 

View solution in original post

@Analyst001 

Please download the Tabular Editor 2 from the following link: https://github.com/otykier/TabularEditor/releases/tag/2.16.0


Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

View solution in original post

7 REPLIES 7
user127
New Member

The best work around I devised was to unpivot the column that you're trying to hide with another column that you don't care about. 

This will effectively gives you two copies of each row in your data set. Then, you can create a new dynamic column, which contains (i) for the "urestricted user group", the value in the column and (ii) for the "restricted user group", an empty string or a word like "[Redacted]". This dynamic column would be created using an if statement.

Then, all you have to do is assign two different row level security rules to your two user populations and select, based on the value of your dynamic column. This will change of the two parts of your data said they will see. Haven’t thought too much about it, but it is likely that this workaround could be extended or enhanced with little work.

 

It probably has been said but userprincipalname() doesn't work for calculated columns.

 

Again, you just have to make sure you pick your second parameter that you will use to pivot to be something you don't care about hiding.

user127
New Member

The best work around I devised was to unpivot the column that you're trying to hide with another column that you don't care about. 

This will effectively gives you two copies of each row in your data set. Then, you can create a new dynamic column, which contains (i) for the "urestricted user group", the value in the column and (ii) for the "restricted user group", an empty string or a word like "[Redacted]". This dynamic column would be created using an if statement.

Then, all you have to do is assign two different row level security rules to your two user populations and select, based on the value of your dynamic column. This will change of the two parts of your data said they will see. Haven’t thought too much about it, but it is likely that this workaround could be extended or enhanced with little work.

 

It probably has been said but userprincipalname() doesn't work for calculated columns.

 

Again, you just have to make sure you pick your second parameter that you will use to pivot to be something you don't care about hiding.

mmace1
Impactful Individual
Impactful Individual

Like you've noticed, Row Level Security only applies to Rows, not Columns. 

Object-Level security as linked. 

Or, you could copy the report, with that column not displayed- and give the users that shouldn't be able to see that colum, only access to that other report.   

Fowmy
Super User
Super User

@Analyst001 

You can achieve this using Object Level Security (OLS). Please refer to the following article on how to apply.

https://www.fourmoo.com/2021/03/02/configure-ols-in-power-bi-using-tabular-editor-to-limit-access-to...


 

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

Thank you for the quick response Fowmy, but External tool is not enabled on my Desktp. Please guide me on this thank you.

@Analyst001 

Please download the Tabular Editor 2 from the following link: https://github.com/otykier/TabularEditor/releases/tag/2.16.0


Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

mmace1
Impactful Individual
Impactful Individual

Object-Level-Security is now natively avaiable in Power BI 

https://powerbi.microsoft.com/en-us/blog/object-level-security-ols-is-now-generally-available-in-pow...

I haven't actually had a reason to use it yet, but it seems like exactly what you need. 

Helpful resources

Announcements
September Power BI Update Carousel

Power BI Monthly Update - September 2025

Check out the September 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors