Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Anonymous
Not applicable

Show Current Logged in User data only

Hello Folks,

 

I am new to DAX query in Power BI and struggling to use SelectedValue - any other ways would do as well.

 

The requirement is to show the data as per the Current Logged In User - in my table, I have got the User Principal Name which I using as follows:

 

CurrentUserData =
VAR CurrentDataFilter = FILTER(TimeReport, TimeReport[UserPrincipalName] =USERPRINCIPALNAME())
RETURN
SWITCH(
TRUE(),
SELECTEDVALUE(TimeReport[UserPrincipalName] = CurrentDataFilter),
FALSE()
)

 

This is not working, hence need your help here.

 

Thanks!

 

UserPrincipalNameNameDateFunctionP1P2P3
john@thestrawberry.comJohn 01-12-2021TID555
christina@thestrawberry.comChristina02-12-2021KID51020
sarah@thestrawberry.comSarah03-12-2021AD1152
christina@thestrawberry.comChristina05-12-2021TID5515
john@thestrawberry.comJohn03-12-2021TID881

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Got the solution and credit goes to @miguelarce 
https://community.powerbi.com/t5/Developer/RLS-vs-Filter-for-current-user/m-p/329584


Measure1
WhoIsWatching = USERPRINCIPALNAME() 
(that is email style usernames, or you can use USERNAME() for windows style users)

fmourtaza_0-1638770845718.png

 


Measure 2
FilterByViewer = IF(selectedvalue(table[email])=[WhoIsWatching],1,0)

fmourtaza_1-1638770915538.png

 


Drag Measure 2 as a filter for visual, select advanced filtering and set it to 
"Show items when value IS 1"

fmourtaza_2-1638770961734.png

 

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

Got the solution and credit goes to @miguelarce 
https://community.powerbi.com/t5/Developer/RLS-vs-Filter-for-current-user/m-p/329584


Measure1
WhoIsWatching = USERPRINCIPALNAME() 
(that is email style usernames, or you can use USERNAME() for windows style users)

fmourtaza_0-1638770845718.png

 


Measure 2
FilterByViewer = IF(selectedvalue(table[email])=[WhoIsWatching],1,0)

fmourtaza_1-1638770915538.png

 


Drag Measure 2 as a filter for visual, select advanced filtering and set it to 
"Show items when value IS 1"

fmourtaza_2-1638770961734.png

 

Hi fmourtaza,

do you have a test pbix file to share? it doesnt seem to work for me.

Thanks

Anonymous
Not applicable

Almost there - I am now able to filter the data based on the Current Logged In user.

 

Next is I wanna show Multiple Columns in my Visual (see a line with Values) - in the below case I get only 1 value - I tried to return a complete row but it throws me the error "Multiple columns cannot be converted to a scalar value"  - any other way to show multiple columns?

 

CurrentUserData =
VAR CurrentUserState = CALCULATE(MAX(TimeReport[UserPrincipalName]),FILTER(TimeReport, TimeReport[UserPrincipalName] = USERPRINCIPALNAME()))
RETURN
IF(
SELECTEDVALUE(TimeReport[UserPrincipalName]) = CurrentUserState,
Values(TimeReport[Neukunden_Akquise_Produkte])
)
 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.