Symptom
When running an Advanced Report in Canvas Reporting, the report returns duplicate rows for certain users. Instead of displaying a single record per user, the report outputs one row for each record that exists for that user — resulting in multiple entries for the same individual.
This occurs when a user has more than one record (e.g., in Job Information or Employment Details) where the End Date is set to a future date. Because all such records are technically still "open" or "active" at the time the report is executed, the report includes every matching record, and no single entry is naturally identified as the current or most recent one.
Example: A user with two Job Information records — both having an End Date six months in the future — will appear twice in the report output, once for each record.
Environment
SAP SuccessFactors HXM Suite
- Analytics & Reporting(Ad Hoc, YouCalc, Canvas / ORD)
- Online Report Designer
- Advance Reporting
- Online Report Designer
Reproducing the Issue
- Login into instance
- Create canvas report
- Include Effective Start and End Date fields
- In results section we can see there are multiple records for a user (Effective End Date is in future)
Cause
This occurs when there are multiple records, for a user, ending in future.
Resolution
Filter to the Latest Record Using an Aggregated Calculated Column
To ensure only the record with the most recent Start Date is returned for each user, follow these steps:
Step 1 — Create an Aggregated Calculated Column
Open your Advanced Report and navigate to Calculated Columns.
Click Add to create a new calculated column.
Select the Start Date field from the object that contains the multiple future-end-dated records (e.g., Employment Information or Job Information).
Set the Aggregation Function to MAX.
Save the calculated column (e.g., name it Max Start Date).
This column will compute the latest (maximum) Start Date across all records for each user in the report.
Step 2 — Apply a Filter Using Field Comparison
Go to the Filters section of the report.
Add a filter on the Start Date field of the same object.
In the filter configuration, set the comparison type to Field Comparison (not a static date value).
Under Field Comparison, select the Aggregated Calculated Column (Max Start Date) you created in Step 1.
This tells the report: "Only return records where the Start Date equals the maximum Start Date for that user."
Step 3 — Validate the Output
Run the report. For each user who previously had multiple future-end-dated records, only the record with the latest Start Date will now appear in the results, eliminating the duplicates.
Keywords
Multiple, Records, records, dated, end, start, Aggregated, calculated, column, Max, Function, Field, Comparison, Future , KBA , LOD-SF-ANA-ADV , Advanced Reporting (ODS) , Problem
SAP Knowledge Base Article - Public