web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Show items in combobox...
Power Apps
Suggested Answer

Show items in combobox based on multiselect person or group field

(3) ShareShare
ReportReport
Posted on by 601
I have a combobox where i need to show the items based on certain columns. Below is the code. This works fine with person or group column which are single select. like SO, BO, Name of requestor.
 
I need to open  up the combobox also for multiselect person or group field named 'Team Members'.
 
I tried User().Email in 'Team Members'.Email but it doesnt work. May i know how to modify the below code?
 
Combobox Items
Filter(
    Detailed_List,
    ('Name of Requestor'.Email = User().Email || SO.Email = User().Email || BO.Email = User().Email )&& 'Status of request' = "Request Processed" && Request_Type = "Finance"
)
 
 
I have the same question (0)
  • Suggested answer
    Fredrik_A Profile Picture
    3,631 Super User 2026 Season 1 on at
    Hey,
     
    give this a try:
     
    Filter(
        Detailed_List, 
        (
            'Name of Requestor'.Email = User().Email || 
            SO.Email = User().Email || 
            BO.Email = User().Email || 
            !IsBlank(LookUp('Team Members',Email=User().Email))
        ) && 
        'Status of request' = "Request Processed" && 
        Request_Type = "Finance"
    )
     
     
    If my response solved your issue, please mark it as ✅ Accepted Answer and give it a like.
  • 11manish Profile Picture
    1,422 on at
    Since 'Team Members' is a multi-select Person field, it must be treated as a table.
     
    The correct and optimized way is to check whether the current user exists within that table using !IsEmpty(Filter(...)).
     
    For better performance and readability, use a With() block and normalize email casing.
     
    Keep in mind that this approach is not fully delegable, so for large datasets, consider moving the logic to backend processing or redesigning the data model.
     
    try below: 
     
    With(
        { _userEmail: Lower(User().Email) },
        Filter(
            Detailed_List,
            (
                Lower('Name of Requestor'.Email) = _userEmail ||
                Lower(SO.Email) = _userEmail ||
                Lower(BO.Email) = _userEmail ||
                !IsEmpty(
                    Filter('Team Members', Lower(Email) = _userEmail)
                )
            ) &&
            'Status of request' = "Request Processed" &&
            Request_Type = "Finance"
        )
    )
     
  • Suggested answer
    Valantis Profile Picture
    3,427 on at
     
    For multi-select person columns you need the `in` operator, which checks if a value exists anywhere in the column of a table. Try this:
    ```
    Filter(
        Detailed_List,
        (
            'Name of Requestor'.Email = User().Email || 
            SO.Email = User().Email || 
            BO.Email = User().Email || 
            User().Email in 'Team Members'.Email
        ) 
        && 'Status of request' = "Request Processed" 
        && Request_Type = "Finance"
    )
    ```
    The key difference: single-select person columns return a single record so you use `.Email = User().Email`. Multi-select returns a table of records, so you use `User().Email in 'Team Members'.Email` which checks if the user's email exists in that table.
    One thing to be aware of: this part won't delegate to SharePoint. You'll get a delegation warning and it will only check against the first 500 (or 2000 if you raised the limit) rows. If your list is small that's fine. If it's large you'll need a different approach like storing Team Members as a separate related list or using a calculated text column.
     

     

    Best regards,

    Valantis

     

    ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.

    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).

    🏷️ For follow-ups  @Valantis.

    📝 https://valantisond365.com/

    💼 LinkedIn

    ▶️ YouTube

  • WarrenBelz Profile Picture
    155,052 Most Valuable Professional on at
    Firstly, @Valantis is correct in the structure, however you will have a Delegation issue (you will get a warning as well) as the in operator is not Delegable. There is no workaround directly for this, however you can "pre-filter" with your Delegable other criteria: -
    With(
       {
          _Data:
          Filter(
             Detailed_List,
             'Status of request' = "Request Processed" && 
             Request_Type = "Finance"
          )
       },
       Filter(
          _Data,
          User().Email = 'Name of Requestor'.Email || 
          User().Email = SO.Email ||
          User().Email = BO.Email ||
          User().Email in 'Team Members'.Email
       )
    )
    So providing the top filter returns (the list can be of any size) less records than your (500 - 2,000) Data Row Limit, this should return all expected records.​​​​​​
     
    Please Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider answering Yes to Was this reply helpful? or give it a Like
    Visit my blog
    Practical Power Apps    LinkedIn  
     
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 490

#2
WarrenBelz Profile Picture

WarrenBelz 427 Most Valuable Professional

#3
Vish WR Profile Picture

Vish WR 381

Last 30 days Overall leaderboard