This issue occurs because Salesforce Mailing Address fields are compound fields. Instead of being stored as a single text value, they are stored as structured objects containing separate components such as Street, City, State, Zip Code, and Country.
When comparing compound address fields directly in an Apsona calculated field using:
{!Contact.Contact.Mailing Address} == {!Parents.Related Contact.Mailing Address}
The comparison does not evaluate the actual address contents. Since Apsona calculated fields use standard JavaScript behavior, the \== operator checks whether both values reference the same object in memory, not whether their individual address values match. As a result, the comparison returns False even if the addresses appear identical.
The correct approach is to compare each address component individually, for example:
{!Contact.Contact.Mailing Street} == {!Parents.Related Contact.Mailing Street} &&
{!Contact.Contact.Mailing City} == {!Parents.Related Contact.Mailing City} &&
{!Contact.Contact.Mailing State/Province} == {!Parents.Related Contact.Mailing State/Province} &&
{!Contact.Contact.Mailing Zip/Postal Code} == {!Parents.Related Contact.Mailing Zip/Postal Code} &&
{!Contact.Contact.Mailing Country} == {!Parents.Related Contact.Mailing Country}
? "Yes" : "No"
This method accurately checks whether all address components match and returns the expected result. When working with compound fields like Mailing Address, always compare the individual components rather than the full compound field directly.