The myth is broken: Yes, you can launch subset calculations in HFM!
On-Demand rules, a revolution or a simple improvement? Make your choice!
On-demand rules are used in Data Forms and enable you to run only a subset of calculations to quickly see the results in the data form, without running the full sub Calculate or Consolidate routine.
Why using On-Demand rules?
On-Demand rules have the benefit of isolating separate calculation rules, these rules won’t be executed on either HFM’s calculations nor consolidations, the benefit of consolidation time could be very significant.
On-Demand rules are easy to develop and to use, below some real examples:
- Copy data from one scenario to another one (Ex: Actual to Forecast).
- Run specific allocation to P&L accounts (ie business units, product, channels…).
- Copy ownerships from previews period to the actual period.
- Copy specific data, from a period to another period (Allocation keys, flags…etc.).
How does it work?
Create the On-demand rule
You can create On-demand rules in the application classic rule file or in the Calc Manager tool. The rules are created in a new subroutine and are identified by the OnDemand prefix, for example, Sub OnDemand_ <RulesName>, below the syntax:
Sub OnDemand_ <RulesName> ’Type your OnDemand rule here End Sub
Note that all HS functions that can be used in Sub Calculate (but no others) can also be used in On-Demand rules. Also note that unlike Sub Calculate, data previously written to an IsCalculated member in the HFM dimensions are not cleared when an On-demand rule is running. In addition, note that there is no need to call the Sub OnDemand_ <RulesName> in the Sub Calculate routine or other rules routine.
Run the rule from a data form
Once the sub is loaded thought rules file or deployed in Calc Manager tool, you will be able to run this rule from any data form in HFM.
Two methods are available to call the On-demand rules in the data form through Designer tool:
- If the rule names are known, then, you can write them in the On Demand Rules text box in a comma-separated list.
- If you want to search for available rules, you can Edit the button next On Demand Rules text box and select one or more rules to be use in the form and click OK.
Note that it’s possible to use data form script to call On-demand rules, as shown below:
OnDemandRules = RuleName1,RuleName2
This example shows an On-Demand rule used to copy allocation keys from one scenario to another, from Actual to Budget.
Classic rule script
Rule name to call in the appropriate webform is Copy_AK_Budget:
Connect the On-Demand rule name to the webform
Through Data Form Designer:
Through Data Form Script:
OnDemandRules = Copy_AK_Budget
Execute the On-Demand rule
In the example, before clicking on Execute On-Demand button, choose destination scenario “Budget”, then select all the periods of the green row and launch the calculation on On-Demand button:
Click on Execute On-Demand button:
Click on Copy_AK_Budget:
On-Demand rules could be helpful in some cases to perform a subset of calculations to quickly see the results in the data form.
In addition to being easy to develop and to use they allow users to save time in calculations and consolidations process since they are executed excluding them.