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
spagad6263
Post Patron
Post Patron

How to filter table by USERPRINCIPALNAME()

Hi,

I would like to filter data by USERPRINCIPALNAME() via RLS. 

 

For in stance, in below table, when USERPRINCIPALNAME = 'u1@gmail.com', it should show first 2 rows, which contains 'u1@gmail.com'

 

I've created a role with a table filter, but it doesn't work. Any suggestions? Thanks

 

CONTAINS(
      [fact_Logon],
      [MappingEmail],
      USERPRINCIPALNAME()
) = True()

 

spagad6263_0-1695674205545.png

 

1 ACCEPTED SOLUTION
parry2k
Super User
Super User

@spagad6263 I don't use this new look, I don't like it at all. Switch to the DAX editor and past the code there.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

View solution in original post

9 REPLIES 9
parry2k
Super User
Super User

@spagad6263 as far as expression returns true/false, it should work.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

spagad6263
Post Patron
Post Patron

Hi,

 

Do you think below should work?

 

FIND(USERPRINCIPALNAME(),fact_Contact[MappingEmailAddress]) > 0

 

Thanks

parry2k
Super User
Super User

@spagad6263 I don't use this new look, I don't like it at all. Switch to the DAX editor and past the code there.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Thank you for the help!

spagad6263
Post Patron
Post Patron

Unfortunately, there is no CONTAINS option below

 

spagad6263_0-1695676149670.png

 

parry2k
Super User
Super User

@spagad6263 you should put this in the role instead:

 

VAR __UPN = USERPRINCIPALNAME ()
VAR __Table = FILTER ( Table, CONTAINSSTRING (  Table[MappedEmail], __UPN ) )
RETURN
NOT ISEMPTY ( __Table )


Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

spagad6263
Post Patron
Post Patron

Thanks for the reply. I've created below measure. Can you advise how I could link this to the role?

meas_Filter =
VAR UPN = USERPRINCIPALNAME ()
RETURN
CALCULATE (
   COUNTROWS (fact_Contact),
   CONTAINSSTRING (fact_Contact[MappingEmailAddress], UPN)
)
parry2k
Super User
Super User

@spagad6263 you need to add a measure:

 

Measure = 
VAR __UPN = USERPRINCIPALNAME ()
RETURN
CALCULATE ( 
   COUNTROWS ( Table ),
   CONTAINSSTRING (  Table[MappedEmail], __UPN )
)


Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

This doesn't quite work.

 

I tried below using roles editor. No syntax error, but not returning what I need. Any thoughts?

 

USERPRINCIPALNAME() IN fact_Contact[MappingEmailAddress]

Helpful resources

Announcements
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!

Jan NL Carousel

Fabric Community Update - January 2025

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