Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
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.
Solved! Go to Solution.
@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...
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
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.
@Analyst001
Please download the Tabular Editor 2 from the following link: https://github.com/otykier/TabularEditor/releases/tag/2.16.0
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
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.
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.
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.
@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...
⭕ 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
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
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.