Opening Capex Code not referencing Closing Capex correctly

Dear Model Builders,

Please refer my attachd Opening Capex code which I believe not referring to the previous month's closing capex correctly.

Appreciate your help on finding the cause of error and possible solutions.

Thanks

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Answers

  • Hi @TD1,

    Simplifying the formula will make it easier to understand and troubleshoot, while also reducing the calculation effort % of this line item and improving your model's performance. This line item probably has high calculation effort due to multiple nested IF statements.

    Here are a few suggestions:

    1. Move this part in a system module as a Boolean line item.

    2. Consider separating ITEM(FV01 Versions) in your versions system module if you have 10+ versions.

    3. Try to move this part to a system module, too.

    These will make the formula easier to fix.

    I hope this helps.

    Seyma 🌷🙂

  • edited April 3

    Here is an example of how a simple If+Boolean formula optimization can reduce the calculation effort:

    Formatted Sales 2 Formula - Calculation Effort = 27%

    IF     'SYS01 Sales Number Units'.Number Unit Input = 'SYS01 Sales Number Units'.Thousands

    THEN     Sales / 1000

    ELSE IF 'SYS01 Sales Number Units'.Number Unit Input = 'SYS01 Sales Number Units'.Millions    

    THEN     Sales / 1000000    

    ELSE     Sales

    Formatted Sales 1 Formula - Calculation Effort = 60%

    IF        'SYS01 Sales Number Units'.'Input = Thousand?'     
    
    THEN   Sales in Thousands
    
    ELSE IF   'SYS01 Sales Number Units'.'Input = Millions?'     
    
    THEN   Sales In Millions    
    
    ELSE       Sales

    I'd like to note that calculation effort can fluctuate depending on factors like early exit logic, but the main idea here is keeping formulas short and clean improves performance and makes them easier to read.

    Hope this helps!
    Seyma 🌷🙂

  • If you want to match numbers, try using PREVIOUS.

    PREVIOUS('DEP10 Closing Capex')

    Something like this:

    IF 'SYS02 Time'.Is First Month THEN
    [Your IF-ELSE logic here]
    ELSE
    PREVIOUS('DEP10 Closing Capex')

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In