Power Apps  

Power Apps: LookUp vs Filter vs Search

When building apps in Power Apps, you often need to find data.
Power Apps gives three main functions for this:

  • LookUp → Find one record

  • Filter → Find many records

  • Search → Find records that contain a text match

Many makers mix them up, which leads to delegation warnings and slow screens.
This article explains everything in simple words, with clean code samples you can use right away.

1. LookUp() — Use When You Need Only ONE Result

LookUp finds the first matching record in a table.
You can also ask it to return only one field from that record.

Example

Get only one Employee

Get email of the employee

LookUp(Employees, ID = 1001, Email)

When to Use LookUp

  • Getting user email

  • Getting one project

  • Getting status for one record

  • Getting manager of a user

Note

Using LookUp inside galleries repeatedly slows down app performance.

LookUp(Employees, ID = ThisItem.ManagerID, Email)

2. Filter() — Use When You Need MANY Records

Filter returns a table of all rows that match your condition.

Example

Get All Active Projects

Filter(Projects, Status = "Active")

All employees in a selected department

Filter(Employees, Department = drpDepartment.Selected.Result)

Where Filter is used

  • Galleries

  • Dropdowns

  • Combo boxes

  • Lists of items

  • Searchable lists (with StartsWith)

Note

Filter is best for performance as long as your conditions are delegable, Power Apps sends the query to SharePoint/Dataverse/SQL directly.

3. Search() — Use When You Need Text Search (“contains”)

Search finds rows where the search keyword appears anywhere in a text column.

Example

Search by Name or Description

Search(Products, txtSearch.Text, "Name", "Description")

Note

Easy, But BIG Limitation : Search is not delegable in SharePoint.
This means Power Apps only checks the first 500 / 2000 items.

Use Search only when:

  • Your list is small

  • You use Dataverse (where Search is delegable)

  • You do not need full accuracy

Combined Example — Use of All 3 Together

Example

You want to show a gallery of employees filtered by department, and inside each item show the Department Name (LookUp), and also allow text search.

Filter(
    Search(
        Employees,
        txtSearch.Text,          // Search by name
        "Name"
    ),
    DepartmentID = drpDept.Selected.ID    // Filter by department
)

Inside the gallery, show the department name:

LookUp(
    Departments,
    ID = ThisItem.DepartmentID,
    DepartmentName
)
  • Search → searches by employee’s name

  • Filter → narrows down to the department

  • LookUp → shows the department name for each employee

Conclusion

LookUp, Filter, and Search are three of the most important data functions in Power Apps, and each serves a very different purpose.
Understanding when and how to use them helps you build faster, more scalable, and more reliable apps.

  • LookUp is perfect for returning one record or one field.

  • Filter is the best choice when you need multiple matching records and want good performance.

  • Search is useful for text-based contains search, but should be used cautiously with SharePoint because it isn’t delegable.