Tutorials/Power Apps/Create a Multi-Dropdown Filter for Your Power Apps Gallery
Power Appsintermediate

Create a Multi-Dropdown Filter for Your Power Apps Gallery

Learn how to build a flexible gallery filter using multiple dropdowns, a blank-option pattern, and delegation-safe formulas.

NA
Narmer Abader
@narmer · Published June 3, 2026

Effective filtering is crucial in Power Apps galleries to help users quickly find what they need among hundreds or thousands of records. A common requirement is to filter by multiple criteria using dropdowns that let users select one option at a time from a preset list. This article walks you through building a gallery filtered by three dropdowns, using a delegation-friendly pattern that works with SharePoint lists and other data sources with delegation limits. You'll also learn how to include a blank option in dropdowns so users can clear a filter and show all records.

Scenario: The "Hardware Inventory" App

We'll build a simple asset tracking app where employees can browse the company's hardware inventory. The SharePoint list called Hardware Inventory contains these columns:

  • ItemName – Single line of text (e.g., "Dell Latitude 5420")
  • Category – Choice (Laptop, Monitor, Keyboard, Mouse, Docking Station)
  • Status – Choice (In Stock, Assigned, Retired)
  • Location – Choice (Main Warehouse, R&D Lab, Sales Floor)
  • PurchaseDate – Date only

Sample data:

ItemNameCategoryStatusLocationPurchaseDate
Dell Latitude 5420LaptopAssignedSales Floor2025-03-10
HP EliteDisplay E241MonitorIn StockMain Warehouse2025-01-22
Logitech MX KeysKeyboardAssignedR&D Lab2025-02-14
Microsoft Arc MouseMouseRetiredMain Warehouse2024-11-05
Lenovo ThinkPad X1LaptopIn StockMain Warehouse2025-05-01

Open Power Apps Studio and create a blank canvas app. Add a connection to the Hardware Inventory SharePoint list. Insert a vertical gallery and set its data source to the list. Show the fields ItemName, Category, Status, Location, and PurchaseDate in the gallery layout.

Above or beside the gallery, add three dropdown controls and name them ddlCategory, ddlStatus, and ddlLocation. Your screen should resemble a filter panel with the gallery below.

Populating Dropdowns with a Blank Option

Users need a way to clear a filter and see all records. The simplest approach is to offer a blank entry at the top of each dropdown. You can hardcode options when the choice list is static and small, or pull unique values dynamically for columns that may change.

Static Choices: ddlCategory and ddlStatus

For ddlCategory and ddlStatus, set their Items property to a table that starts with a blank:

powerfxddlCategory Items
[Blank(), "Laptop", "Monitor", "Keyboard", "Mouse", "Docking Station"]
powerfxddlStatus Items
[Blank(), "In Stock", "Assigned", "Retired"]

Dynamic Choices: ddlLocation

Because new locations may be added to the SharePoint list, it's better to pull the current list of unique values every time the app loads. The pattern below uses Distinct but wraps the result in an ungrouped table to insert a blank row at the top.

powerfxddlLocation Items (using Distinct)
Ungroup(
  Table(
      {TempTable: Table({Result: Blank()})},
      {TempTable: Distinct('Hardware Inventory', Location)}
  ),
  "TempTable"
)
Delegation Caution

The Distinct function is not fully delegable with SharePoint lists. If your inventory list can exceed 2,000 items, use a collection to store unique values at app start instead of placing Distinct directly in the Items property.

For large lists, create a collection in App.OnStart:

powerfxApp.OnStart to collect unique locations
ClearCollect(colLocations, Distinct('Hardware Inventory', Location));

Then set the dropdown's Items to:

powerfxddlLocation using collection
Ungroup(
  Table(
      {TempTable: Table({Result: Blank()})},
      {TempTable: colLocations}
  ),
  "TempTable"
)

Connecting the Filter Formula

Now make the gallery respond to all three dropdowns. Set the gallery's Items property to a single Filter that includes a condition for each dropdown. The pattern uses short-circuit Or logic: if the dropdown selection is blank, ignore that filter; otherwise, match the column.

powerfxGallery Items filter
Filter(
  'Hardware Inventory',
  ddlCategory.Selected.Value = Blank() Or Category = ddlCategory.Selected.Value,
  ddlStatus.Selected.Value = Blank() Or Status = ddlStatus.Selected.Value,
  ddlLocation.Selected.Value = Blank() Or Location = ddlLocation.Selected.Value
)

With this formula, when all three dropdowns are blank, the gallery shows every record. Selecting a value in any dropdown instantly narrows the list to matching items only.

Delegation and Performance Notes

  • The Filter with equality checks and Blank() comparisons is fully delegable for SharePoint text and choice columns. Power Apps sends these conditions to the data source, so even lists with hundreds of thousands of rows can be filtered efficiently.
  • The Items of the gallery remains delegation-safe as long as you don't add non-delegable functions like Distinct or Search inside the filter arguments.
  • For the location dropdown, using a collection bypasses repeated delegation calls to get distinct values. This is the recommended approach for production apps with large datasets.
  • If you ever need to add a free-text search box alongside the dropdowns, consider using StartsWith or Search only after applying the dropdown filters to maintain delegation where possible.

Common Mistakes and Troubleshooting

  • Dropdown selection not filtering: Confirm that you are referencing Selected.Value (or Selected.'Value' for text columns) and not Selected.Result. For choice columns in SharePoint, the selected item is a record; the displayed text is inside .Value.
  • Blank option not appearing: If you use a hardcoded table like [Blank(), "A", "B"], ensure there is no syntax error. The Blank() function must be the first element. The Ungroup(Table(...)) pattern must have the exact nesting shown above.
  • Gallery not responding to filter changes: Verify that the gallery's Items property is set to the formula above and not overridden by another rule (e.g., a Reset or Navigate action that clears the dropdowns).
  • Delegation warnings: Open the App Checker panel and look for yellow triangles. If the gallery or a dropdown shows a delegation warning, consider moving non-delegable operations (like Distinct) into collections or using a delegable data source.

Final Recommendation

A multi-dropdown filter with a blank option is a clean, user-friendly way to browse data in Power Apps galleries. Stick to the Filter(..., Or(...)) pattern for delegable filtering and handle dynamic dropdown options via collections when your list size may exceed delegation limits. This approach keeps your app fast, scalable, and easy to maintain.

References