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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.