Joe Samraj
Joe Samraj

Reputation: 331

Power BI Embedded Row Level Security

I'm using the power bi embedded Row Level Security. According to the documentation given here we need to add a role in the power bi desktop and use a DAX expression like [ColumnName] = USERNAME(). So that this filter will work when the user has that particular role.

My question is is there any chance to use the DAX expression anywhere to filter data using the Username directly?

Thanks in advance

Upvotes: 1

Views: 581

Answers (1)

Prachi Mishra
Prachi Mishra

Reputation: 101

Accessing usernames

If User owns data is used for embedding, then while authenticating, the username is accessible in the code. Or, even if using App owns data, if you authenticate your users while accessing your portal, then you can get the username while authentication.

Below is an example on JS

oCommon.authContext.getCachedUser();

Below is an example in C#

HttpContext.Current.User.Identity.Name;

Filtering in the embedded report

Further, by using filtering capabilities of Power BI embedding, the report can be filtered on the username value fetched during authentication.

Avoid flickering

You will be able to apply the filter after the report embeds, if you use powerbi.embed(). Instead use the concept of phased embedding, where before the report even renders, you can apply the filter. So apply the filters after load() and before render(). This will avoid the flicker that you may have with filtering after powerbi.embed().

Upvotes: 3

Related Questions