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 choices from SP l...
Power Apps
Answered

Show choices from SP list type column depending on the user

(2) ShareShare
ReportReport
Posted on by 931 Season of Giving Solutions 2025
Hi guys,
 
I have diferrents users in the same app and access into a SP list but the thing is That depending wich user only will have in choice column type, show some of them and not all of them. Could it be possible?
Categories:
I have the same question (0)
  • Suggested answer
    11manish Profile Picture
    3,038 on at
    My view:
     
    Small apps (few users):
    • Filter the SharePoint Choice column directly using Filter(Choices(...)). Suitable for simple scenarios but requires hardcoding.
    Medium-sized apps:
    • Create a User Permission SharePoint list that maps users to the choices they can see. This is easier to maintain and avoids hardcoding.
    Enterprise apps :

    Avoid SharePoint Choice columns altogether. Instead, create:
    • A Status Master list
    • A User Permission list
    • Then dynamically filter the available options based on the logged-in user.
    Large organizations:
    • Consider using Azure AD Security Groups or Dataverse security roles for centralized permission management.
  • Verified answer
    MS.Ragavendar Profile Picture
    7,352 Super User 2026 Season 1 on at
     
    With(
        {
            _allowedValues:
                Switch(
                    Lower(User().Email),
                    "person1@company.com", ["Option A", "Option B"],
                    "person2@company.com", ["Option C"],
                    ["Option A"]
                )
        },
        Filter(
            Choices(YourListName.YourChoiceColumn),
            Value in _allowedValues
        )
    )
     
    This is hardcoded way every time you need to update the data accordingly. 
     
    ✅If this helped, please Accept as Solution to help others ❤️ A Like is appreciated 🏷️ Tag @MS.Ragavendar for follow-ups.
  • Suggested answer
    Valantis Profile Picture
    6,526 on at
     
    Yes it's possible. Ragavendar's approach works but hardcoding emails doesn't scale. Here's the dynamic version.
     
    Create a small SharePoint list called UserPermissions with two columns:
    - UserEmail (text)
    - AllowedChoices (text, comma-separated values e.g. "Option A,Option B")
    In your combobox or dropdown Items property:
    Filter(
        Choices('YourList'.YourChoiceColumn),
        Value in Split(
            LookUp(UserPermissions, UserEmail = User().Email, AllowedChoices),
            ","
        ).Result
    )
     
    This way you manage permissions in the SharePoint list without touching the app. Add a new user row to UserPermissions and they get their allowed choices automatically.
     

     

    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

  • Verified answer
    Kalathiya Profile Picture
    2,420 Super User 2026 Season 1 on at
     
    Above all answer is correct only, but my recommendation is to make it dynamic so that future changes can be managed from a SharePoint list instead of updating the app code.

    Create a SharePoint list with:

    #1. Person column (User) - Person or Group Type Column
    #2. Choice column (allow multiple selections) - Choice with multiple selection type column
    For each user, store the choices that should be available to them.

    For Ex:

     
    Then, when the user logs in, filter the available choices based on the values stored in this list. This approach is more dynamic and easier to maintain because future updates can be managed directly from the SharePoint list without modifying the code.
     
    Your Dropdown - Item property code like this:
    With({ 
            _data: LookUp(Test,Person.Email=User().Email).Status
    },
        Filter(Choices(Test.Status),Value in _data.Value)
    )
    
    //Test - Replace with newly created mapping list name
    //Person - Replace with your peerson column which is in newly created mapping list. 
    //Choices(Test.Status) - Your choice column items
    //Status - Replace with your choice column from Newly created mapping list.
     
    ---------------------------------------------------------------------------
    Glad it helped 🙂
    If this fixed your issue,
    please click “Does this answer your question?” to mark it as verified so others can find the solution easily.
    A Like 👍 is always appreciated, and I’m around if you need more help @Kalathiya
  • Suggested answer
    Haque Profile Picture
    3,474 on at
     
    Yes, it is possible.
     
     
    1. Create a mapping of users (or user roles) to allowed choice values: For example, you can create a collection or a SharePoint list that maps users or user groups to the subset of choice options they should see.
    2. Filter the choice options dynamically : Since SharePoint choice columns are fixed, you can replicate the choice options in Power Apps as a collection or table, then filter that collection based on the current user.
    3. Use User().Email or User().FullName to identify the current user: Use this to filter the allowed choices.
    4. Set the dropdown or combo box Items property to the filtered choices  


    For example:
     

    // Example: Define all choices in a collection on App start or screen visible
    ClearCollect(
        AllChoices,
        {Value: "Option1"},
        {Value: "Option2"},
        {Value: "Option3"},
        {Value: "Option4"}
    );
    
    // Define user-specific allowed choices
    ClearCollect(
        UserChoices,
        If(
            User().Email = "user1@domain.com",
            Filter(AllChoices, Value in ["Option1", "Option3"]),
            If(
                User().Email = "user2@domain.com",
                Filter(AllChoices, Value in ["Option2", "Option4"]),
                AllChoices // default for others
            )
        )
    );
    
    // Set dropdown or combo box Items property to:
    UserChoices
    
                5. Bind the dropdown or combo box to UserChoices and set the Value property to Value
     
     

    I am sure some clues I tried to give. If these clues help to resolve the issue brought you by here, please don't forget to check the box Does this answer your question? At the same time, I am pretty sure you have liked the response!

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

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
Valantis Profile Picture

Valantis 481

#2
WarrenBelz Profile Picture

WarrenBelz 379 Most Valuable Professional

#3
11manish Profile Picture

11manish 291

Last 30 days Overall leaderboard