Planning Analytics

 View Only
  • 1.  Swapping Feeders for ConsolidatedChildren

    Posted Fri April 19, 2024 11:27 AM

    Hi all,

    I've been dealing with heavy memory usage on our TM1 server, presumably due to cubes with complex feeders for calculations like Balance YTD, currency adjustments, account manipulations, etc.

    I experimented with a different approach. I removed all the feeders and, instead, added the ConsolidatedChildren function across dimensions where hierarchies are present. To avoid affecting other consolidated rules, I placed the ConsolidatedChildren function just before Feeders in the rules editor. Now, consolidated members seem to be automatically fed.

    []=C: ConsolidateChildren('Company', 'Accounts', 'Months', 'Value_Type');
      #No Feeders

    I'm curious to hear if others have explored something similar and if there is a better approach.

    Cheers, Asgeir

    Asgeir Thorgeirsson

  • 2.  RE: Swapping Feeders for ConsolidatedChildren

    IBM Champion
    Posted 30 days ago

    Hi Asgeir, ConsolidateChildren is sort of bypassing the skipcheck function and forcing consolidated values to be calculated. However, there will be a performance penalty is terms of query time. So if this approach is faster than your Feeders implementation, it probably means that your model was overfed and your feeders should be reviewed. I would typically solve YTD calculations by leveraging dimension structures instead of rules/feeders. Kind regards, Luc

    Luc Cusiel

  • 3.  RE: Swapping Feeders for ConsolidatedChildren

    Posted 29 days ago

    I agree with Luc.

    However, there seems to be a bit more to unpack. Have you verified that your feeders are causing your memory growth? When you removed the feeders, did you clear them too (cube clear data, build a new cube, restarted the server, etc)? Removing feeders and adding ConsolidateChildren won't fix null suppression.

    Ryan Clapp

  • 4.  RE: Swapping Feeders for ConsolidatedChildren

    Posted 28 days ago


    You may already be too far down the path with your rules and feeder-based solution, but I thought I'd offer an alternative.

    For the Balance YTD and recursive balance calculations over time (like beginning and ending balances) which can be problematic for feeders (controlling feeding and stack overflows) we've had great success utilizing alternate hierarchies. 

    Basically, we create an alternate hierarchy that contains all of the balances to date and then use a rule to bring those values over to the time period in the "same named" hierarchy.  It's extremely fast because it utilizes the consolidation engine to do all the hard work.   We've been able to have systems compute these types of recursive balances at a daily grain over 10 years negligible impact on memory and performance.


    Chris Courim