I have a cube in SSAS 2005 that calculates running sums over millions of records. The current implementation is using a PeriodsToDate sum function in MDX and it is horribly slow, taking 15 minutes or more to return results in some cases. There are a huge number of solutions to this problem so I am hoping someone else has already tested a few of these out and can save me the time of implementing and testing each one.
Is it preferrable to calculate running sums and sliding window type calculations in T-SQL using a cursor (please no cross join solutions from Celko, I know they look nice on paper but the cross join solutions are horribly slow as your data grows), using a script task in SSIS (or is there a better way to do this in integration services) or using MDX in Analysis Services?
Any other ideas?