Announcements
I have a SharePoint list called SEL with stability study data. I'm building a screen where users can bulk-update the EWD (Expected Withdrawal Date) field based on selected filters.
Columns in SEL:
Screen Controls:
Choices(SEL.Condition)
Distinct(SEL, Rack)
What I Need:
The Error:
Condition.Value = cmbCondition.Selected.Value
What I've Tried:
If( IsBlank(cmbCondition.Selected.Value) && CountRows(cmbRack.SelectedItems) = 0, SEL, Filter( SEL, (IsBlank(cmbCondition.Selected.Value) || Condition.Value = cmbCondition.Selected.Value) && (CountRows(cmbRack.SelectedItems) = 0 || CountRows(Filter(cmbRack.SelectedItems, Value = Rack)) > 0 ) ) )
First(SEL).Rack
First(SEL).Condition.Value
Filter(SEL, Rack = "2")
Concat(cmbRack.SelectedItems, Value, ", ")
Question:
Without getting the "Incompatible types" error?
Any help would be greatly appreciated!
Hello ! you're very close! The error you're seeing—"Incompatible types for comparison"—is due to how Power Apps interprets the Condition.Value and cmbCondition.Selected.Value. Even though both look like text, one might be wrapped in a record or table structure depending on context.
Condition.Value
cmbCondition.Selected.Value
Try this refined version:
If( IsBlank(cmbCondition.Selected.Value) && CountRows(cmbRack.SelectedItems) = 0, SEL, Filter( SEL, ( IsBlank(cmbCondition.Selected.Value) || Text(Condition.Value) = Text(cmbCondition.Selected.Value) ) && ( CountRows(cmbRack.SelectedItems) = 0 || Rack in Concat(cmbRack.SelectedItems, Value, "|") ) ) )
Text(...)
Concat(..., "|")
Rack in ...
If Rack values might contain special characters, consider using a collection instead of Concat for cleaner logic:
Rack
Concat
Rack in cmbRack.SelectedItems.Value
But this only works if SelectedItems is a flat list of text values.
SelectedItems
If this helped or could help others in the community, feel free to give it a like or a kudo — it helps surface useful answers for everyone!
If( CountRows(cmbRack.SelectedItems) = 0, Filter( SEL, Len(cmbCondition.Selected.Value) = 0 || Condition.Value = cmbCondition.Selected.Value ), Ungroup( ForAll( cmbRack.SelectedItems As _Items, Filter( SEL, Rack = _Items.Value && ( Len(cmbCondition.Selected.Value) = 0 || Condition.Value = cmbCondition.Selected.Value ) ), Value ) ) )
The initial suggestion to use Text(Condition.Value) for comparison didn't work because of a context ambiguity issue. Even though Condition.Value appeared to be a text value, PowerApps was interpreting it differently within nested Filter contexts, resulting in the persistent "Incompatible types for comparison: Table, Text" error.
Text(Condition.Value)
The breakthrough came when we tested: First(SEL).Condition.Value which also threw errors, confirming that the Condition column (a SharePoint Choice field) couldn't be directly referenced in certain contexts.
Instead of using equality = comparison, using the in operator solved the issue:
=
in
If( IsBlank(cmbCondition.Selected) && CountRows(cmbRack.SelectedItems) = 0, SEL, Filter( SEL, ( IsBlank(cmbCondition.Selected) || cmbCondition.Selected.Value in Condition.Value ) && ( CountRows(cmbRack.SelectedItems) = 0 || !IsBlank(LookUp(cmbRack.SelectedItems, Value = Rack)) ) ) )
Key points:
!IsBlank(LookUp(...))
!IsBlank(LookUp(SelectedItems, Value = Field))
"dd/mmm/yyyy"
Text()
TimeUnit.Days
Days
DateAdd()
Filter( SEL, ( CountRows(cmbCondition.SelectedItema)= 0 || cmbCondition.Selected.Value in Condition.Value ) && ( CountRows(cmbRack.SelectedItems) = 0 || Rack in cmbRack.SelectedItems.Value ) )
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.
Jump in, show your community spirit, and win prizes!
Congratulations to our 2025 community superstars!
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Vish WR 432
Valantis 362
timl 337 Super User 2026 Season 1