How to Use Percentiles Configuring Data Source Formulas
Summary
How Compensation Administrators Can Use Percentiles Configuring Data Source Formulas
Applicable Products
Talent Management – Compensation
Applicable Releases: 11.19 and higher
Detailed Information:
The purpose of this article is to describe how a Compensation administrator can use percentiles when configuring data source formulas.
- Percentile Discrete: Returns a value from the data set.
- Percentile Continuous: Returns a computed result after doing linear interpolation
This field is used to specify the percentage value that is required. You can use these new measure calculation methods in reward cycle formulas.
Example: Quartile Salary Rankings
Here is a set of example reward cycle formulas to determine the ranking of an individual.
First, create a data source and add dimensions (curGrade and orgShortName) and measures that calculate .25, .5, and .75 percentiles.
This formula gets the 25th percentile value and stores it in a user-defined field (pct25):
def resultSet = Row.worksheet.getDataSourceAsList("Quartiles By Org Short Name and Current Grade");
def resultSetFiltered = resultSet.findAll{it.curGrade == currentGrade &&
it.orgShortName == Row.participant.org.shortName};
if ( resultSetFiltered.isEmpty() ) { return null; }
else {
return new BigDecimal(resultSetFiltered.get(0).get("pct25"));
}
Use a similar formula for the 50th and 75th percentiles, stored in separate user-defined fields (pct50 and pct75).
Org Short Name and Current Grade");
def resultSetFiltered = resultSet.findAll{it.curGrade == currentGrade &&
it.orgShortName == Row.participant.org.shortName};
if ( resultSetFiltered.isEmpty() ) { return null; }
else {
pct25 = new BigDecimal(resultSetFiltered.get(0).get("pct25"));
pct50 = new BigDecimal(resultSetFiltered.get(0).get("pct50"));
pct75 = new BigDecimal(resultSetFiltered.get(0).get("pct75"));
}
if (localCurrentSalary < pct25) { return 1;}
if (localCurrentSalary < pct50) { return 2;}
if (localCurrentSalary < pct75) { return 3;}
if (localCurrentSalary >= pct75) { return 4;}
return null;
- getDataSourceAsCSV: Allows a data source to be invoked by data source name. Returns a comma-separated-value (CSV) output with data source dimension and measure alias as the column headers.
- getDataSourceAsList: Allows a data source to be invoked by data source name. Returns output as a list of maps with data source alias name/value pairs.
- getTop: Returns the top worksheet for the given reward cycle.