The best method to implement row-level security in a published Power BI model or SSAS Tabular model consumed from the Power BI service will depend to some degree on your data structure and requirements. The method I demonstrate here is one of the most flexible approaches and one that I commonly use in my projects.
How Lakehouse Architecture is Revolutionizing Business Intelligence
The Lakehouse is the evolution of the earlier cloud data platform in many pieces that came with “some assembly required”. All of the components are modern, mature and capable but complicated and require specialized skills. Imagine that the new version is easier to assemble with instructions that are only a few pages with stick figures, and it comes with an Allen wrench.
We’re seeing consulting customers putting Lakehouse and BI solutions on-line in just a few weeks. Then they iterate to scale-up their modern data warehouse/BI platform as they train their Center of Excellence champions and Data Governance organizations as they progress.
DevOps & CI/CD for Power BI: Real-World Example
In a recent blog post, Paul discussed that DevOps, and specifically CI/CD, principles are essential for modern software development, and Power BI is no exception. Power BI CI/CD for enterprise class projects can be achieved using Azure DevOps, with steps including source control, automated testing, and build and release pipelines.
DevOps & CI/CD for Power BI
DevOps isn’t difficult to implement for small and medium-scale projects, and simple things like managing version control in a code repository can save hours of lost time. Organization who are accustomed to managing large application development initiatives might expect to have a fully automated build and deployment process in concert with an Agile delivery process, managed with specialized tools like Jira, GitHub and Azure DevOps.
5 thoughts on “Implementing Row-Level Security in Power BI”
good explanation on the video, thanks.
thanks for the topic, good work bro
Капсулы Негрустин – отзывы, инструкция по применению – FarmDirect
Thanks for sharing, it’s very useful the way that you treat BLANK() value.
Below I share my code DAX that I apply to CRM Dynamic 0365 the idea is :
1/ you look up for the position (and their business unit ) of the person who log in then you stock the result in a variable.
Sales Rep – only see their own data
Sales Manager – see the whole team data
2/ Then depend on the position you show them what they can see using SWITCH():
//position of UPN
VAR Position_Rule = LOOKUPVALUE(
User[Sales Rep], USERNAME()
//business unit of UPN
VAR BU_Rule = LOOKUPVALUE(
User[Sales Rep], USERNAME()
//if the UPN’s postion is
//Representative : display only their data
“Sales Representative”,[Sales Rep] = USERNAME(),
//Sales Manager > display all the data relevant to their team and them self
“Sales Manager”, ([Sales Manager] = USERNAME() || [Sales Rep] = USERNAME()),