Allocation method specifies whether to allocate the amount evenly or proportionally.
The share method allocates a percentage of the amount (alloc_share_amt) by dividing the basis value for the current member in the range (basis_mbr_value) by the sum of the basis across the range (basis_range_sum). The allocated amounts are based on the number of valid basis values in the range. The algorithm for calculating the allocation share amount:
alloc_share_amt = (basis_mbr_value/basis_range_sum) * amount
Basis values and Essbase action:
Zero, Essbase writes a zero to the corresponding target cell.
If the sum of all basis values is zero (which would result in a division-by-zero error), Essbase uses the zero basis options setting. See Setting the Basis.
#MISSING, Essbase either leaves the target cell as #MISSING, or, if the target cell already has a value, overwrites the existing value with zero.
A negative number, Essbase uses the negative basis options setting. You can choose to use the negative basis value (the default), skip to the next amount value (no data is allocated for the current amount value, and Essbase skips to the next POV combination), or cancel the entire operation.
The following examples illustrate the share allocation method. In both examples, the amount to allocate is 10.
In Table 217, assume that the amount (10) represents the rent expense for a building, and the basis represents the head count of each department in the range. Essbase uses the basis values for departments with non-#MISSING head count (Dept_A through Dept_D) to calculate the allocation share amounts, which is the rent allocation.
The rent allocation for Dept_A is the basis value of Dept_A (3), divided by the sum of valid basis values across the range (3 + 2 = 5), multiplied by the amount (10): 3/5 * 10 = 6. For Dept_D, the rent allocation is 2/5 * 10 = 4. The total of the target cells in the range equals 10.
Table 217. Share Allocation Method Example
Members in Range | Basis (Head Count) | Target (Rent Allocation) |
---|---|---|
Dept_A | 3 | 6 |
Dept_B | ||
Dept_C | 0 | 0 |
Dept_D | 2 | 4 |
In Table 218, assume that all basis values are to be considered in calculating the share allocation amounts. The allocation for Mbr1 is the basis value of Mbr1 (3), divided by the sum of valid basis values across the range (3 + -1 + 2 = 4), multiplied by the amount (10): 3/4 * 10 = 7.5. For Mbr3, the allocation is -1/4 * 10 = -2.5; for Mbr4, the allocation is 2/4 *10 = 5. The total of the target cells in the range equals 10.
The spread method allocates the amount evenly across the range (alloc_spread_amt). The number used to divide the amount and, therefore, the number of target cells where the allocation spread amount is to be written, is based on the number of valid basis values in the range (#_valid_basis_values). The algorithm for calculating the allocation spread amount:
alloc_spread_amt = amount/#_valid_basis_values
When using the spread allocation method, you can use the optional spread skip options parameter to skip all basis values in the range that are zero, #MISSING, or negative. You can specify multiple options.
Basis values and Essbase action:
Zero, Essbase writes a zero to the corresponding target cell.
If spread skip options is set to skip zero, no data is allocated.
#MISSING, Essbase either leaves the target cell as #MISSING; or, if the target cell already has a value, Essbase overwrites the existing value with zeros.
If spread skip options is set to skip #MISSING, no data is allocated.
A negative number, Essbase uses the negative basis options setting (which takes precedence over the spread skip options setting of skip negative). You can choose one of the following actions:
Use the negative basis value (the default)
Skip to the next amount value (no data is allocated for the current amount value)
Use the absolute value of the negative number
Treat the negative number as $MISSING (no value is allocated to the target cell)
Treat the negative number as a zero (zero is allocated to the target cell)
Cancel the entire operation
If all basis values have been skipped (which would make the denominator in the allocation zero), Essbase uses the zero basis options setting. See Setting the Basis.
The following examples illustrate the spread allocation method. In both examples, the amount to allocate is 10.
In Table 219, assume that the spread skip options parameter is not specified. Therefore, Essbase considers all four basis members in the range. Essbase divides the amount (10), by the number of valid basis members in the range (4), and spreads that value (2.5) to each target cell in the range: 10/4 = 2.5.
Table 219. Spread Allocation Method Example: Do Not Skip Basis Values
Members in Range | Basis | Target |
---|---|---|
Mbr1 | 2 | 2.5 |
Mbr2 | #MISSING | 2.5 |
Mbr3 | 3 | 2.5 |
Mbr4 | -6 | 2.5 |
In Table 220, assume that the spread skip options parameter is set to ignore #MISSING and negative numbers. Therefore, Essbase considers only the two basis members with positive values (Mbr1 and Mbr3). Essbase divides the amount (10), by the number of valid basis members in the range (2), and spreads that value (5) to the Mbr1 and Mbr3 target cells: 10/2 = 5.