Introduction
When working with Dataverse actions in Power Automate—especially List rows—you'll often deal with lookup columns.
At first glance, filtering or retrieving related data from lookup fields can feel confusing.
Two key concepts make this much easier:
This article explains what they are, when to use them, and how to use them correctly with real examples.
What Is Filter rows?
Filter rows is an option used in Power Automate (Dataverse – List rows action) to return only the records that match a specific condition, instead of fetching all rows from a table.
It uses OData filter syntax.
Using Filter rows with Normal Columns
Scenario
You want to retrieve Customers where the Customer Name is "ABC Corporation".
Filter rows:
cr6c4_customername eq 'ABC Corporation'
Note: cr6c4_customername is a Logical Name of Customer Name column.
![Screenshot 2025-12-29 175506]()
Why this works
Important Note ⚠️
This works only when filtering directly on the Customer table
If Customer is a lookup in another table (like Orders), you must use GUID-based filtering
What Is a Lookup Column in Dataverse?
A lookup column in Dataverse creates a relationship between two tables.
Example:
Internally, Dataverse stores this as a GUID, not the customer name.
Why Lookup Columns Are Tricky in Power Automate
When you use List rows:
You cannot filter directly using display values (like Customer Name)
You must filter using GUIDs or OData relationship syntax
To get related table fields, you need Expand Query
Using Filter rows with Lookup Columns
Scenario
You want to retrieve Orders where the Customer is a specific record.
Step 1: Identify the Lookup Schema Name
Example:
Step 2: Use Filter rows (GUID-based)
_cr6c4_customer_value eq '<Customer-GUID>'
![Screenshot 2025-12-31 113432]()
✅ Why this works:
cr6c4_customername → lookup column
_cr6c4_customername_value → stores the related record GUID
GUID → primary key of the Customers table and is retrieved from the List rows – Customers action.
Common Mistake ❌
cr6c4_customer eq 'ABC Corp'
❌ This will fail because Dataverse does not store text values in lookup columns.
What Is Expand Query?
Expand Query allows you to:
It works like a JOIN in SQL.
Expand Query Syntax (Basic):
cr6c4_Customer($select=cr6c4_customername,cr6c4_email)
![Screenshot 2025-12-31 142503]()
Explanation
cr6c4_Customer → lookup column (Schema name) in Orders table
cr6c4_customername → logical name of Customer Name column
cr6c4_email → logical name of Email column
This allows you to retrieve the Customer Name and Customer Email together with the Order data in a single action, eliminating the need for an additional Get a row step.
Conclusion
Understanding Expand Query and Lookup column filtering in Dataverse can:
Once you master these two concepts, working with Dataverse in Power Automate becomes much more powerful and efficient 🚀