The Strategy SQL Engine identifies three main components when deciding how to generate the SQL required for every calculation of the report:

When evaluating the dataset (report)'s requirements, a unit must be identified as a single calculation with:
If the report contains different sets of the above mentioned requirements, the SQL Engine will "break" these requirements into individual calculation units. A calculation unit is identified by an individual SQL pass.
Once the calculation units have been identified, the process of constructing the SQL for each one of them is performed: