Use the PROFILE function to multiply values over time based on a series of numbers, or profile.

For example, you can use the PROFILE function to calculate the value of an item based on estimated depreciation.

PROFILE(Number to change, Profile)

ArgumentData typeDescription
Numbers to changeNumber

The numbers to change over time.

Should have time applied as a dimension.


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.

The PROFILE function returns a number.

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.

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.

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. 

The time range used for the Value to compare argument must match the time range for the result line item.

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.

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 Month100.0%
Next Month75.0%

The second module shows the PROFILE function used in another module with the Depreciation profile above.

Jan 22Feb 22Mar 22Apr 22May 22Jun 22Jul 22Aug 22Sep 22Oct 22Nov 22Dec 22
Single asset value10,00000000000000
Multiple asset values10,0000010,0000010,00000000

Single asset value depreciation

PROFILE(Single asset value, Profile module.Depreciation profile)


Multiple asset values depreciation

PROFILE(Multiple asset values, Profile module.Depreciation profile)


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.