Yeah, this one catches a lot of people when working with Dataverse relationships.
What’s happening here is related to how lookup (relationship) columns behave in Power Apps. Your ‘Cruise ID’ in the Passengers table isn’t just a simple value—it’s a record reference to the Cruises table. So when you filter like this:
'Cruise ID'.'Cruise ID' = Dropdown1.Selected.'Cruise ID'
it does match correctly (that’s why you’re getting the right number of rows), but the data coming back isn’t being fully expanded in the collection. That’s why you see blank rows in xcolPassengers2 even though the count is correct.
In contrast, when you collect the full table, Power Apps pulls everything properly, so you see the data.
The fix is to avoid comparing nested fields like that and instead compare the lookup record directly. Try changing your filter to:
ClearCollect( xcolPassengers2, Filter( Passengers, 'Cruise ID' = Dropdown1.Selected ) );
This works because you’re comparing the entire lookup record instead of drilling into the ID field.
If for any reason that still behaves oddly, another reliable approach is to compare using the GUID explicitly:
Filter( Passengers, 'Cruise ID'.'Cruise ID' = Dropdown1.Selected.'Cruise ID' );
but then make sure you actually display fields from Passengers in your UI (like Name, Email, etc.), not just the lookup column.
So in short, the issue isn’t your filter logic being wrong—it’s how Power Apps handles lookup columns and expands data in collections. Comparing the whole record usually avoids this problem.