In some situations against the warehouse, Strategy will not use derived tables, even if the VLDB property is set so. Reports that by their nature cannot be resolved using derived tables (subqueries) are reports that fall into one of the following categories:
- Reports that use percentage ranking - Function on the database-side doesn't exist, select data from database, perform calculation in Analytical Engine, and write to temporary table. Examples are Percentage and Percentile.
- Reports that query partitioned base tables - Non-double aggregatable function such as count(distinct) would select data from two separate partitioned tables, and would require a temp table to insert the results of each table into before calculating results correctly.
- Reports that generate certain type of outer joins - One example is a simulated outer join, that pull data from two separate intermediate tables but require the results to be inserted into another table to perform the outer join logic.
- Reports with custom groups - Custom groups that use advanced logic, such as ranking or banding. Basic custom groups can possibly avoid using temporary tables depending on their logic and database function support.
- Reports involving certain types of functions not supported by the database but performed in the Strategy analytical engine - One example is OLAPRank function, which requires the function to be calculated in the Analytical Engine and not in SQL, then have a table written to the database which can only be done into a full table.
- Reports that create datamarts - Only pertain to the creation of data mart table which is by definition a full table being created in a database. Derived tables can still be used for intermediate table passes.
In these cases, the Strategy SQL Engine uses the value set in the VLDB setting, 'Fallback Table Type'. This setting provides two options - 'Permanent table' or 'True temporary table'.
The following list of articles can be used for further reference regarding the 'derived table' behavior with the Strategy SQL engine.