After examining Palo source code to see how their “Splashing” works, I got interested in the rules of break-back in Cognos EP.
Not satisfied with vague description in Analyst User Guide and performing some test and calculations, I’ve received following results.
Break-Back calculates only on Sum\Substract\Multiply\Division, not on IF-ELSE, or BIFs.
Here are formulas for all 4 operations (4all4 :)).
The initial values are marked with index 1 and break-backed by 2. No online latex->png converter I could find, so formulas will be rather ugly.
x1 + y1 = z1
We need z2
x2 = z2\z1 * x1
y2 = z2\z1 * y1
z2\z1 * x1 + z2\z1 * y1 = z2
x1 – y1 = z1
x2 = x1 + (x1*delta\z1)
y2 = y1 + (y1*delta\z1)
delta = (z2 – z1)*z1\(x1+y1)
x1 + (x1*delta\z1) – y1 + (y1*delta\z1) = z2
So here, the minimum gap is calculated due to initial weights of x1 and y1.
x1*y1 = z1
x2 = sqrt(z2\z1) * x1
y2 = sqrt(z2\z1) * y1
sqrt(z2\z1) * x1 * sqrt(z2\z1) * y1 = z2
If there are 3 arguments x1*y1*a1, then cube root is calculated. So the initial arguments are multiplied by (z2\z1) with 1\n power, where n is number of arguments.
x2 = sqrt(z2\z1)*x1
y2 = sqrt(z1\z2)*y1
If there is more than one numerator or denominator ( x1\(y1*a1) for example), then after calculating the required value of product, multiplication rules are applied.
Just to remind — the calculation is defined by order of dimensions, as I’ve already shown here.