@Al_Chen, the display column sets the display value of the row but does not affect the underlying type of the row reference value. Think of it a bit like an envelope tuple with values (tableId, rowId, displayValue)
.
In your example, since the displayValue is a people reference, a typical Summary
row’s thisRow
value would be something like:
(tableId = summaryTable, rowId = xyz, displayValue = @Al_Chen)
So if you take a formula such as [Detailed Costs].Filter(Name = thisRow).Cost.Sum()
it’s going to be comparing Name = thisRow
which translates to:
@Al_Chen === (tableId = summaryTable, rowId = xyz, displayValue = @Al_Chen)
→ #fail
which will never match. If on the other hand you use thisRow.People
you’ll be comparing:
@Al_Chen === (tableId = summaryTable, rowId = xyz, displayValue = @Al_Chen)-->People
→ @Al_Chen === @Al_Chen
→ success!
Nigel.