Aggregation levels for example
The example contains three dimensions (grouping level), i.e. projectId(STRING), personId(STRING) and iDate(IDate). IDate is a complex grouping dimension that has got three attributes (year, month and day), and hence, the maximum level dimension of iDate is 3. The grouping level identifier (lowest aggregation level) is 113 (ignoring the 5 trailing zeros for the level identifier). In this case, the aggregation collection contains following level identifiers and level classes:
The red aggregation path on the left side shows aggregation levels created for simple aggregation. In the example, only the grouping level will be created and maintained, while all other hierarchy levels are created on demand. In order to get from level 113 to level 102, the aggregation path 113->103->102 or 113->112->102 may be used. When next lower levels 103 and 112 already exist, the system checks the number of relevant aggregation instances for these levels, i.e. when I(103) < I(112), level 103 is used for aggregation.
In order to provide complete aggregation, the following path might be processed:
- 113->112->111->110->100->000
- 113->103->102->101
- 113->013->003->002->001
- 013->012->011->010
Since aggregation from 003 to 002 might not be optimal, the system may also use 012 or 102 for aggregation, when the number of aggregation instances on these levels is lower.