Use the PROFILE function to multiply values over time, based on a series of numbers, or a profile.
For example, you can use the PROFILE function to calculate the value of an item based on estimated depreciation.
Syntax
PROFILE(Number to change, Profile [, List])
Arguments
Argument | Data type | Description |
Numbers to change | Number | The numbers to change over time. Should have time applied as a dimension. |
Profile | Number | The values that changes to the Numbers to change argument are based on. The Number to change argument is multiplied by the values of this argument. Must be a numeric line item with a dimension not present in the Numbers to change argument, which cannot be time. |
List (Polaris-only) | N/A | See Calculation engine functionality differences. |
The PROFILE function returns a number.
Calculation engine functionality differences
In Polaris, the lookup dimension cannot be related to any dimension of the line item to which the formula is applied.
In Polaris, you cannot use PROFILE in formulas of line items with a formula summary method. In the Classic Engine, you can.
In Polaris, you can use PROFILE over a hierarchy, by including an additional argument. In the Classic Engine, you cannot. If the additional argument is not included the function defaults to Time as the dimension.
Additional information
Interaction between arguments
The Profile argument should contain a sequence of several number values dimensioned by a list other than time.
Each number in the Numbers to change argument is multiplied by each value in the Profile argument. The first number is multiplied by the first number in the Profile argument within the same time period. Then in the next time period, the value is multiplied by the second number in the Profile argument, and so on.
The Numbers to change argument can contain multiple numbers. In this case, the PROFILE function applies the behavior described above to each number independently and sum the results.
Use of percentage format numbers
As the values in the Numbers to Change argument are multiplied by the Profile argument, it can be useful to use the percentage number format for your profile.
Constraints
Dimensionality of arguments
The Number to change argument must have a valid line item reference from the Number to change argument to the resulting line item.
The result line item must be dimensioned by time.
Time range requirements
The time range used for the Value to compare argument must match the time range for the result line item.
Examples
General example
This example uses two modules. The first module, Profile module, contains a list with 5 list items that represent months, and a single line item, Depreciation profile. This is because the Profile argument cannot be dimensioned by time. The module is below:
Depreciation profile | |
This Month | 100.0% |
Next Month | 75.0% |
Month+2 | 55.0% |
Month+3 | 30.0% |
Month+4 | 15.0% |
The second module shows the PROFILE function used in another module with the Depreciation profile above.
Jan 22 | Feb 22 | Mar 22 | Apr 22 | May 22 | Jun 22 | Jul 22 | Aug 22 | Sep 22 | Oct 22 | Nov 22 | Dec 22 | |
Single asset value | 10,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Multiple asset values | 10,000 | 0 | 0 | 10,000 | 0 | 0 | 10,000 | 0 | 0 | 0 | 0 | 0 |
Single asset value depreciation
| 10,000 | 7,500 | 5,500 | 3,000 | 1,500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Multiple asset values depreciation
| 10,000 | 7,500 | 5,500 | 13,000 | 9,000 | 5,500 | 13,000 | 9,000 | 5,500 | 3,000 | 1,500 | 0 |
As in the Multiple asset values depreciation line item, the PROFILE function can be used with multiple values. In this case, the function applies the profile to each value independently and then sums them.