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.

**Addition**

x1 + y1 = z1

We need z2

x2 = z2\z1 * x1

y2 = z2\z1 * y1

Therefore:

z2\z1 * x1 + z2\z1 * y1 = z2

**Subtraction**

x1 – y1 = z1

x2 = x1 + (x1*delta\z1)

y2 = y1 + (y1*delta\z1)

delta = (z2 – z1)*z1\(x1+y1)

Therefore:

x1 + (x1*delta\z1) – y1 + (y1*delta\z1) = z2

So here, the minimum gap is calculated due to initial weights of x1 and y1.

**Multiplication**

x1*y1 = z1

x2 = sqrt(z2\z1) * x1

y2 = sqrt(z2\z1) * y1

Therefore:

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.

**Division**

x1\y1=z1

x2 = sqrt(z2\z1)*x1

y2 = sqrt(z1\z2)*y1

Therefore

sqrt(z2\z1)*x1/(sqrt(z1\z2)*y1)=z2

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.