SAP Knowledge Base Article - Public

2559179 - Compa Ratio and Range Penetration report - Advanced Reporting


  • Compa Ratio and Range Penetration standard report is not showing the right data
  • There are multiple rows for each employee
  • The report is blank
  • Error rendering List Report component

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental. 


SuccessFactors Workforce Analytics (ANA) - All versions


Please refer the EC Technical guide in SAP Help Portal.

If your system does not have the standard association between Legal Entity and Pay Range, we recommend creating an Output integration in Integration Center tool to pull the comparatio information (under the entities EmpCompensation > empCompensationCalculatedNav). More info about Integration Center - 2491521 - Integration Center - User Assistance Documentation link

Use: The Compa Ratio and Range Penetration report displays for compa ratio:

  • The annual amount relevant for the compa ratio calculation
  • The midpoint of the pay range for each employee
  • The compa ratio (which is the quotient of the annual amount and the midpoint)

The compa ratio describes the position of an individual in the pay range against the pay policy reference point for the range in Employee Central. It is called midpoint of the pay range. The compa ratio can be used to reposition a pay of an individual in the range. In Employee Central, the pay range is configured according to parameters like for example Legal Entity, Pay Group, and Geo Zone.

  • The Annual Amount relevant for the range penetration
  • The minimum and maximum amounts of the pay range for each employee

From these numbers, the range penetration can be derived, which is the level of an individuals pay compared to the total pay range. Both numbers can be exported from the report to, for example Excel. The range penetration can be calculated according to Range Penetration = (Pay - Range Minimum) divided by (Range Maximum - Range Minimum)


Objects to consider for any kind of issue:

  • Annualization Factor
  • Annualized Salary
  • FTE
  • Frequency
  • Pay Range
  • Pay Component
  • Pay Component Group
  • Legal Entity
  • Use for CompaRatio Calculation
  • Use for RangePenetration Calculation


Blank Results: When there is no pay range configured, no compa ratio can be calculated and the report does not provide a record for such an employee. The pay range of each employee depends on the Employee Central default configuration from (1) Legal Entity, (2) Pay Group and (3) Geo Zone. In detail, the report is designed in the way that the pay range is joined to the Legal Entity via:

  • GlobalJobInfo => Legal Entity ( => Relationship Table) => Pay Range

If the pay range depends in another instance on different parameters, it’s required to adjust the report. For example, Pay range depends on job code and pay grade. Then, you need to join the pay range to the job code (pay grade, respectively) and to have a filter for the pay grade similar as stated above (job code, respectively).

Legal Entity and Pay Range Association exists:

pay range.jpg

In this case the default query is:



Legal Entity and Pay Range does not exist:

no legal entity.jpg

We can change the query and select the Pay Range from the Pay Grade:



Multiple rows: It is possible to configure more than one pay range for an employee, then the report provides more than one record per employee. Therefore it’s recommended to use the report "Pay Ranges" to verify that for each employee one pay range is configured. To avoid duplicates:

  • The Pay Grade is joined to the Pay Range.
  • The Location is joined via Geo Zone to the Pay Range.
  • 2 filters were applied:
    - GlobalJobInfo-location = location-code
    - GlobalJobInfo-pay grade = pay grade – pay grade ID
  • "Currency Exchange Rate (Extended)" is joined to the following schema: (1) to table "Compensation"; (2) to table "Compensation (2)" and (3) to "Pay Range". A filter via 'field comparison' was applied to avoid duplicates (here, the "Target Currency" must always be the currency of the "Pay Component Group"
  • Add the Pay Component and Pay Component Group name and ID fields (from the duplicate tables as well) to the query to check which values are matching and then create field comparison filters:



Error rendering List Report component: Please follow the KBA 2345327 to validate the report. If you are not able to fix the errors or even to edit the query, it is recommended to create the report from scratch. You can use the EC Technical guide in the attachment as a reference.


Common scenarios:

  • The instance is considering the "pay grade ID" instead of "pay grade name" in Pay Range. So, we can apply a filter to match the "GlobalJobInfo-Pay grade" to the "Pay Grade ID".
  • The Compa Ratio and Range Penetration use the AnnualizedSalary in the calculation and depend on the Annualization Factor as well. The Annualization Factor is zero for some employees, due to the Compensation Pay Frequency in "Hourly". This was resulting in columns with zero values. We can follow the KBA 2162127 to get the proper Annualized salary calculation, change the filter and create the calculated columns to match the EC configuration.
  • There is no association for LegalEntity and Pay Range. We have to re-create the report using Pay Range associated to Pay Grade. To avoid duplicate records we can apply field comparison filters for Pay Component Groups and Pay Components
  • The CompaRatio calculated column is showing value 0. This can happen because the Annualization Factor and Exchange Rate are 0 for Hourly Rate Pay Component Group. Therefore, we have to check the Annualized salary calculation. For example, if the frequency is "Hourly Rate", we can multiply by 2080 (Usual Salary Rate Units Values) to get the right Annual amount or follow the KBA 2162127
  • Not all customers make use of the currency conversion functionality and/or the usage of pay components with type PERCENTAGE. For both, performance improvements and troubleshooting, it would make sense to simplify the report by deleting the corresponding tables.

See Also

  • 2162127 - Compensation Information: Pay Component Group Calculations
  • 2136061 - How to determine which Pay Range is used in the Compa-Ratio and Range Penetration calculations - Employee Central
  • 3003502 - MDF object Transient Field is not Reportable in Adhoc Report and Advance Reporting (Report Canvas) Reports
  • 2345327 - EC Standard Report - Tips and Trick from Support to Validate reports - Guide - FAQ


Compa Ratio,CompaRatio, Range Penetration report,Advanced Reporting,multiple duplicate rows,The report is blank , empty record,Error rendering List Report component, transient,field , KBA , LOD-SF-ANA-ADV , Advanced Reporting (ODS) , LOD-SF-EC , Employee Central , LOD-SF-EC-REP , Reporting Data (EC core only) , How To


SAP SuccessFactors HXM Suite all versions