For long timescales, using PREVIOUS is faster than CUMULATE due to the number of "reads" required for the calculation. So, the expression should be: 'Calc line item' = 'data line item' + PREVIOUS('Calc line item') rather than CUMULATE('data line item')
Exception:
2.02-10a Short Timescales: Where the number of periods is small, Cumulate is faster
Best Practice article:
Performance Issues with Cumulate Over Lists
Questions on this topic? See 2.02-10 Using PREVIOUS() vs CUMULATE() in our Planual forum.