Row-level security

Intermediate DAX in Power BI

Carl Rosseel

Curriculum Manager

What is row-level security?

Row-level security (RLS) in Power BI can be used to restrict data access for given users:

  • Way to restrict data access for the logged in user
  • You can define roles and rules with Power BI desktop
  • A dashboard could look completely different depending on the person accessing it
Intermediate DAX in Power BI

What is row-level security?

Row-Level Security (RLS) uses filters to restrict data at the row level

Name Total Sales Region
Jenny 48,431 East
Jane 76,528 West
Dwayne 24,167 West
Thomas 52,125 East

Region = East

Intermediate DAX in Power BI

What is row-level security?

Row-Level Security (RLS) uses filters to restrict data at the row level

Name Total Sales Region
Jenny 48,431 East
Jane 76,528 West
Dwayne 24,167 West
Thomas 52,125 East

Region = East

Name Total Sales Region
Jenny 48,431 East
Thomas 52,125 East
Intermediate DAX in Power BI

Use cases of row-level security in Power BI

  • Row-level security has multiple use cases:
    • User access requirements based on role (such as sales)
    • Restricting access requirements for a specific user or group of users
    • User wants specific/filtered data presented (such as a customer)
Intermediate DAX in Power BI

Use cases of row-level security in Power BI

  • Row-Level Security has multiple use cases:

    • User access requirements based on role (such as sales)
    • Restricting access requirements for a specific user
    • User wants specific/filtered data presented (such as a customer)
  • Switzerland Sales dashboard

Switzerland.png

Intermediate DAX in Power BI

Use cases of row-level security in Power BI

  • Row-Level Security has multiple use cases:

    • User access requirements based on role (such as sales)
    • Restricting access requirements for a specific user or group of users
    • User wants specific/filtered data presented (such as a customer)
  • Non sales dashboard

Blank dashboard.png

Intermediate DAX in Power BI

Use cases of row-level security in Power BI

  • Row-Level Security has multiple use cases:

    • User access requirements based on role (such as sales)
    • Restricting access requirements for a specific user or group of users
    • User wants specific/filtered data presented (such as a customer)
  • General Manager

General Manager View.png

Intermediate DAX in Power BI

DAX and row-level security

Row-level security utilizes DAX to:

  • Provide filtered values at a row level
  • Filter on fact or dimension tables
  • Example: [Is Salesperson] = True
Intermediate DAX in Power BI

Dynamic row-level security

Ensures users only see the information appropriate for their roles

DAX has two main functions to enable this:

  • USERPRINCIPALNAME()
    • Returns the user principal name (UPN), which is equal to the email address
    • Gives the same result in Power BI Desktop and Power BI Service
    • Preferred method
  • USERNAME()
    • Alternative method to enable RLS with its own use cases
    • Outside the scope of this course

You can use these functions to create personalized dashboards!

Intermediate DAX in Power BI

Let's secure it!

Intermediate DAX in Power BI

Preparing Video For Download...