I separated several statements in different strings because of their nature. For example first if case closes all abandoned objects for year X, second if case closes cells for non mapped elements of cube dimensions... It's easier to read them, than dozen of nested statements.
But while we are developing model, we use only first if statement and already have got significant calculation time expansion. I can add that if statement is false almost all cells, so all two rules are applied to almost all cells.
Will it have effect if set if conditions in auxilary cube with less detail and after that set simple if-rule "if (DB(..)=0,0, continue)"? But original statement is not heavy
Code: Select all
['Income']=N:IF(ATTRN('Years',!Years,'Numeric')<DB('properties', !Cities, ... , 'Shop Opening Year'),0,continue);
In this rule we set income of not built markets to zero.
Second (calculation) rule is not really heavy too
Code: Select all
['Income]=N:DB(<PreCalculated Income>)
that is as I suppose cached to stargate in auxiliary cube with less detail and calculates as simply multiplication