Forum Discussion
PBIRS Built-In Fields for PBIX
Thanks for the response, we have considered this but as we have hundreds of clients with multiple users we can't feasibly setup the number of Windows accounts it would need. Is the UserPrincipalName taken from the Windows credentials? And how would this be visible to us in Power BI Desktop please?
TKenny90 wrote:Thanks for the response, we have considered this but as we have hundreds of clients with multiple users we can't feasibly setup the number of Windows accounts it would need. Is the UserPrincipalName taken from the Windows credentials? And how would this be visible to us in Power BI Desktop please?
This should be no different than how you've setup the paginated reports. You mentioned you have hundres fo clients, how do you intend to setup security for them if you don't want to create those accounts? The user accounts should exist somewhere to be able to use them in Power BI.
- TKenny903 years agoRegular Visitor
We set permissions in a web app as to which branches a user can see. The user has an ID in the web app which is then fed through to a paginated report via custom auth. We pick this up in the UserId field (normally where I'd see the Windows user) for paginated reports and use this to filter branches based in what they can see in the web app. I was hoping I would be able to pick this UserId in a PBI report as I can the paginated reports?
The paginated reports and PBI reports both have Windows credentials to return the data from the data sources, which is one account per customer for us.
- Shahfaisal3 years agoSolution Sage
I think you should be able to make it work. I haven't done something like this myself but see this forum post - Custom Authentication in PowerBI
- mpsrshl3 years agoAdvocate II
I hope this helps, you can create the following role inside the PBI file, considering you are using the window user.
[EmployeeID] =
MAXX(
FILTER (
all('Employee'),
'Employee'[Email] = USERPRINCIPALNAME ()
|| 'Employee'[LDAPAccountID]
= MID ( USERPRINCIPALNAME (), 1, FIND ( "@", USERPRINCIPALNAME (), 1 ) - 1 )
),
'Employee'[EmployeeID]
)