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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Sept PBI Carousel

Power BI Monthly Update - September 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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

Top Solution Authors
Top Kudoed Authors