Designing the cube
In theory, it is possible to create a cube with any number of dimensions and measures. You might be tempted to create a cube that stores all measures against every combination of dimensions. This approach is not practical in real-world applications. The number of aggregations increases exponentially with the number of measures and dimensions. The higher the number of aggregations BIRT must calculate, the greater the amount of time and computer resources BIRT requires.
Therefore, for each cross tab you want to create, design a cube that provides only the data to display in that cross tab.
Observe the following rules:

Cube data can be used in cross tabs and charts only. You cannot use cube data in a table or list.

A cross tab or chart can use data from one cube only. This requirement is similar to tables, lists, and charts using data from one data set only.
The cube’s data structure is symmetric to the cross tab’s structure. The cube organizes measures by dimensions, and the cross tab displays aggregate data (measures) by any number of data groups (dimensions). This symmetry makes designing a cube intuitive and straightforward. Determine what your users want to see and how they want to see it, and define the measures and dimensions for the cube accordingly.