Power Apps Dropdown Show Only Unique Values [Step-by-Step]

If you’ve ever connected a Power Apps dropdown to a SharePoint list and ended up with the same value appearing 15 times, you know how frustrating that can be. Your users don’t need to see “Marketing” repeated over and over — they just want to pick it once and move on.

In this tutorial, I’m going to walk you through exactly how to show only unique values in a Power Apps dropdown. I’ll cover multiple methods so you can pick the one that fits your situation best — whether you’re pulling from a SharePoint list, a Dataverse table, or a collection.

Power Apps Dropdown Show Only Unique Values

When you connect a Power Apps dropdown to a data source like a SharePoint list, Power Apps pulls every single row from that list and displays whatever column you point it to. So if your SharePoint list has 50 rows and 20 of them say “HR” in the Department column, your dropdown will show “HR” 20 times.

That’s not a bug — it’s just how the control works by default. The fix is to tell Power Apps: only give me each value once.

So let’s start with some real use case examples.

Method 1: Power Apps Distinct() Function (The Most Common Way)

Power Apps Distinct() function is the go-to solution here. It takes a table and a column, and returns only the unique values from that column — no duplicates.

Basic syntax:

Distinct(DataSource, ColumnName)

Example:

Say you have a SharePoint list called Employee Leave Summary with a Department column. To populate your dropdown with unique departments, set the Items property of your dropdown to:

Distinct('Employee Leave Summary', Department)
Power Apps Dropdown Show Only Unique Values

That’s it. Power Apps will now show each department only once.

One important thing to know: Distinct() returns a single-column table where the column is named Result — not the original column name. So if your dropdown looks blank or shows a wrong field, you’ll need to also set the Value property of your dropdown to Result.

Here’s how to do that:

  • Click on your dropdown control
  • Go to the Value property (in the properties panel on the right)
  • Set it to Result

Your dropdown should now display the unique values correctly.

Method 2: Using a Power Apps Collection to Store Unique Values

Here’s something I’ve run into more than once: Distinct() works great in theory, but sometimes when you use it directly in the dropdown’s Items property, the dropdown shows up blank. This is a known quirk in Power Apps, and the workaround is to store your distinct values in a collection first.

Step 1: Go to your App’s OnStart property (or the Screen’s OnVisible property) and add this:

ClearCollect(colDepartments, Distinct('Employee Leave Summary', Department));
Power Apps Dropdown Show Unique Values

This creates a local collection called colDepartments that holds all unique department names.

Step 2: Now set your dropdown’s Items property to:

colDepartments
Power Apps Dropdown Show Only Unique Values Using Collection

And set the Value property to Result.

This approach is more reliable because the collection is built once when the app loads, and the dropdown simply reads from it. It also tends to be faster since you’re not hitting the data source every time the screen renders.

Method 3: Power Apps Distinct() with Sorted Results

Nobody wants a dropdown where values appear in random order. Luckily, wrapping Distinct() inside a Sort() is easy.

Sort(Distinct(Employees, Department), Result, Ascending)

Set this as the Items property of your dropdown, and your unique values will appear in alphabetical order. Much cleaner for your users.

If you’re using a collection approach, you can sort during the collection creation step:

// If Department = SharePoint Text field
ClearCollect(colDepartments, Sort(Distinct('Employee Leave Summary', Department), Result, SortOrder.Ascending))


// If Department = SharePoint Choice field
ClearCollect(
colDepartments,
Sort(
Distinct('Employee Leave Summary', Department.Value),
Value,
SortOrder.Ascending
)
);
Power Apps Distinct in Dropdown Control

Method 4: Adding an “All” Option to Power Apps Dropdown

This one comes up a lot in filtering scenarios. You want unique values in the dropdown, plus an “All” option at the top so users can reset the filter and see everything.

Here’s the formula to put in your Power Apps dropdown’s Items property:

// If Department = SharePoint Text field

Ungroup(
Table(
{DropdownAll: Table({Result: "All"})},
{DropdownAll: ForAll(
Sort(
Distinct(
'Employee Leave Summary',
Department), Result),
{Result: ThisRecord.Result}
)}
),
'DropdownAll'
)


// If Department = SharePoint Choice field

Ungroup(
Table(
{DropdownAll: Table({Result: "All"})},
{
DropdownAll: ForAll(
Sort(
Distinct(
'Employee Leave Summary',
Department.Value
),
Value
),
{Result: ThisRecord.Value}
)
}
),
'DropdownAll'
)

This looks a bit dense, so let me break it down:

  • Distinct(Employees, Department) — gets unique department values
  • Sort(..., Result) — sorts them alphabetically
  • ForAll(..., {Result: ThisRecord.Result}) — wraps each value into the right format
  • Table({Result: "All"}) — creates the “All” option
  • Ungroup(...) — combines the “All” option with the distinct values into one flat list
PowerApps Dropdown Show Only Unique Values

The end result: your dropdown shows “All” at the top, followed by each unique department in alphabetical order.

Method 5: Using Power Apps Choices() for Choice Columns in SharePoint

If your SharePoint column is a Choice column (not a text column), there’s actually an even simpler approach. You can use the Choices() function instead of Distinct().

Choices('Employee Leave Summary'.Department)
Power Apps Choices Function

This pulls the predefined choice options from your SharePoint column — and since those are already unique by definition, you don’t need to deduplicate anything. It’s clean and delegation-friendly.

  • Works only with Choice columns, not text columns
  • Returns the choices as defined in SharePoint, not just the values currently in use
  • Set the Value property of your dropdown to Value (not Result)

Getting unique values in the dropdown is half the job. The other half is actually using that selected value to filter something — usually a Power Apps gallery.

Here’s how to wire it up:

Set your Gallery’s Items property to:

If(
ddDepartment.Selected.Result = "All",
'Employee Leave Summary',
Filter(
'Employee Leave Summary',
Department.Value = ddDepartment.Selected.Result
)
)
Power Apps remove duplicate values from Dropdown

This says: if the user picked “All,” show every record. Otherwise, filter the gallery to show only records where the Department matches the selected value.

If you’re not using the “All” option, a simpler version works fine:

Filter('Employee Leave Summary', Department = ddDepartment.Selected.Result)

Handling Lookup Columns and Complex Fields Using Power Apps Distinct()

If your column is a Lookup column in SharePoint (not a plain text or choice field), things get a little trickier. The value isn’t just a string — it’s a record with .Value and .Id fields inside it.

In that case, try:

Distinct(Employees, Department.Value)

The .Value part extracts just the display text from the lookup record. Without it, your dropdown might display blank items or cause errors.

If that still doesn’t work, build a collection with the lookup value explicitly:

ClearCollect(
colDepartments,
Distinct(Employees, Department.Value)
)

Common Issues and Quick Fixes

Here are the problems I see people run into most often:

  • Dropdown shows blank items — The column might have some empty rows. Wrap your formula: Filter(Distinct(Employees, Department), !IsBlank(Result))
  • Dropdown is completely empty — Check that the Value property is set to Result (or Value for Choice columns)
  • Delegation warning — Distinct() is not delegable for some data sources. This means it will only process the first 500 (or 2000) records. If your list is large, consider pre-filtering or using indexed columns
  • Lookup column shows blank — Add .Value after the column name: Distinct(Employees, Department.Value)
  • Order is random — Wrap with Sort()Sort(Distinct(Employees, Department), Result, Ascending)

Which Method Should You Use?

Here’s my quick recommendation depending on your setup:

  • Plain text column, small list → Use Distinct() directly in the Items property
  • Plain text column, list with 500+ rows → Use a Collection in OnStart
  • Choice column in SharePoint → Use Choices()
  • Lookup column → Use Distinct(DataSource, Column.Value)
  • Need an “All” option → Use the Ungroup + Table + ForAll approach
  • Need sorted results → Wrap any of the above with Sort()

Final Thoughts

The Distinct() function is one of those things that feels confusing the first time but becomes second nature really fast. The key things to remember: always check the Value property on your dropdown, use a collection if the direct formula gives you blank results, and wrap with Sort() if order matters to your users.

Additionally, you may like some more Power Apps tutorials:

Live Webinar

Build an IT Help Desk App using Power Apps and Power Automate

Join this free live session and learn how to build a fully functional IT Help Desk application using Power Apps and Power Automate—step by step.

📅 29th Apr 2026 – 10:00 AM EST | 7:30 PM IST

Download User registration canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App

Power Platform Tutorial

FREE Power Platform Tutorial PDF

Download 135+ Pages FREE PDF on Microsoft Power Platform Tutorial. Learn Now…