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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

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
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

Check out the October 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.

October NL Carousel

Fabric Community Update - October 2024

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