Linking Calculated Values Vs Re-Calculations


What’s more efficient ? Linking (using Module.Line Item): A Line Item in the Target Module to a Calculated Value in the source Module OR re calculate the same scenarios in the Target Module as all the requirements for the formula are in the target but you end up with two formulas ( giving the same answer ) in two different modules .

So either a Calculation and then a link OR two Calculations within each respected Module. Any thoughts on the subject would be really appreciated. 


Best Answer

  • DavidSmith


    We should avoid the daisy chaining of calculations


    We advocate "calculate once, reference many times"


    There are a few reasons why:

    • The extra time to reference a calculation is essentially free, like an = in excel
    • Having a long chain of dependencies can have a negative impact on model opening and calculation time, as the downstream calculations have to “wait” for the upstream ones, meaning there is less capacity to multi thread.  Try and think of the calculations as a “hub and spoke”, reaching out from one place to many targets
    • The fewer calculations the engine has to perform, the better.  It sounds obvious, but fewer calculations will be faster!!
    • We often see a line item in a module directly referencing another, which will add unnecessary cell count


    I hope this helps