cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
akj2784 Member
Member

Data level security on Power BI

Hi All,

 

I have data as below .Roles.JPG

 

 

When Akash logs in, the dashboard should default to Pm Code = 1234, when Ajay logs in, it should default to Pm Code =3234

And it should not prompt user to select any value. Automatically it should apply data level secutiry based on whoever logs in. How do we achieve such feature in power BI.

Basically how do we capture who has logged in and then write a query to find what is the PM Code for his login should help.

13 REPLIES 13
Highlighted
bsas Member
Member

Re: Data level security on Power BI

   

Super User
Super User

Re: Data level security on Power BI

Sure there is. You just need another column with the user's Microsoft username (usually their email address but it depends on your Office 365 setup). Then you enable row level security and set a filter there for UserTable[MSUsername] = USERNAME(). Publish the report, add all the users to this role on the service and you're all set.


Did I answer your question? Please mark it as a solution.

Proud to be a Datanaut!
v-huizhn-msft Super Contributor
Super Contributor

Re: Data level security on Power BI

Hi @akj2784,

There is a blog that describes how to use Data level security in detailed steps, please review it.

https://datachant.com/2017/05/24/row-level-security-power-bi/

Best Regards,
Angelia

akj2784 Member
Member

Re: Data level security on Power BI

Thanks. How do I know the user name/userid format accepted by Power BI. Name can be duplicate so I would like to drive it from User Id which is unique. 

 

Lets say I have the data as show below in the roles table.

 

UserId                 PMCode

AKJAIN                1234

VJAIN                   4321

AJAIN                   3234

 

So I want to check the USERId of the person who logged in, then I would like to fetch its corresponding PM Code from this roles table. And then I would like to equate the transaction table with PM Code = the value fetched from above. So that the logged in user can see only relevant data.

 

So for above scenario, I would like to understand How I should create the Roles from Manager Roles feature in Power BI Desktop.

Super User
Super User

Re: Data level security on Power BI

@akj2784as I have already said, the username in Power BI is the Microsoft username, which generally takes the form of the user's email address in Office 365 but may be slightly different depending on your organization's specific setup. You need to add a column to this table with those usernames and use those.


Did I answer your question? Please mark it as a solution.

Proud to be a Datanaut!
akj2784 Member
Member

Re: Data level security on Power BI

ok. Lets assume I have this column in the table. 

So for each user I have PM Code tagged to it in the table. 

 

And I want to equate this PM Code fetched for each user to the Actual project table which has PM Code in it so that it just shows his Projects.

 

Would you be able to guide me with the steps .?

 

Thanks for your help.

 

Regards,

Akash

akj2784 Member
Member

Re: Data level security on Power BI

I actually tried creating roles with table[username]= USERNAME( )

But not sure how to assign the PM Code for the logged in user to the actualy Project table which has PM Info.

Super User
Super User

Re: Data level security on Power BI

You don't do anything with the PM code. Presumably you have a relationship between this user table and your regular data, and you normally use it to filter and categorize that data. I don't know your specific case but for example imagine that your user table is a table of sales reps where each username is accompanied by a matching email address column, and linked to that table you have a table of sales data. You show sales results by sales rep in your report. If you create a "sales rep" security role with a filter on the user table of usertable[email address] = USERNAME(), then publish that report and add each of the sales rep users to that security role on the service, when they look at the report it will show only their individual sales results and nobody else's.


Did I answer your question? Please mark it as a solution.

Proud to be a Datanaut!
akj2784 Member
Member

Re: Data level security on Power BI

ok. I see your point but that's not exactly what I want to implement. 

Thank you for your guidance.

 

In my actual project table I don't have user name/email. All I have is PM Code. I have to drive the dashboard based on that and apply the data level security so that each PM can see only his Projects in the dashboard.