@david.savarin
I have run the analysis using the above model and set formula scope for Current Version only
For the Fake versions model I used a single boolean to check and had a formula like this:
IF Fake Version Details.'Not Current?' THEN 0 ELSE CUMULATE(Data)
The results were almost exactly the same as above
The volume of the calculations for Fake Versions were 2x larger, but the duration of the calculations were 6x shorter
The checking for the "not current" prevents the calculation going further (a benefit of the early exit condition)
I also checked the effect of the early exit (checking for the most common condition of not current vs current)
As expected, checking for the IF "Not Current" THEN 0 ELSE ... was 1.5x faster than IF "Current" THEN Cumulate() ELSE 0
One other element to add to the overall discussion is size and switchover. Using Switchover will reduce the model size, as the "actual" periods don't take up space. So if size is a primary consideration, bear that in mind. As ever, if is a balance between performance, size, sustainability, usability etc.
I hope that helps
David
... View more