The Account dimension

The account structure in IBM® Cognos® Controller's relational source allows a base account to logically sum-up several times to the same summation account, as illustrated in the example.
Figure 1. Account summation structure in the source (Controller) database
Account summation structure in source shows that S1 = S2 + S3 = (A1+A2) + (A2+A3) = A1 + 2*A2 + A3.

From a hierarchical point of view, S1 would be evaluated as: S1 = S2 + S3 = (A1+A2) + (A2+A3) = A1 + 2*A2 + A3.

However, the correct interpretation is that a single account should not be summed multiple times, hence: S1 = A1 + A2 + A3.

To avoid flattening the account structure and losing the ability to drill down in the target, a compensating transformation, such as the following is used:

Figure 2. Account summation structure in the target database
Account summation structure in target shows that S1 = S2 + S3 = (A1+A2) + (A2+A3) = A1 + 2*A2 - A2 + A3

In this compensating transformation, the summation structure in the source is rebuilt in the target and includes relations that are weighted to compensate where needed, for example 2* A2 - A2 = A2.

Note: In the account structure there is no need for additional aggregation nodes because summation accounts do not relate to any physical transactions.