MicroStrategy ONE

Cartesian Join Warning

Cartesian joins are usually costly to perform. However, a Cartesian join of two warehouse tables is much more costly than a Cartesian join of two intermediate tables.

  • Execute (default): When any Cartesian join is encountered, execution continues without warning.
  • Cancel execution: When a report contains any Cartesian join, execution is canceled.
  • Cancel execution only when warehouse table is involved in either side of Cartesian join: The execution is canceled only when a warehouse table is involved in a Cartesian join. In other words, the Cartesian join is allowed when all tables involved in the join are intermediate tables.
  • If only one side of Cartesian join contains warehouse tables, SQL will be executed without warning: When all tables involved in the Cartesian join are intermediate tables, the SQL is executed without warning. This option also allow a Cartesian join if a warehouse table is only on one side of the join and cancels it if both sides are warehouse tables.
  • In the rare situation when a warehouse table is Cartesian-joined to an intermediate table, the execution is usually canceled. However, there may be times when you want to allow this to execute. In this case, you can choose the option: If only one side of Cartesian join contains warehouse tables, SQL will be executed without warning. If this option is selected, the execution is canceled only when warehouse tables are involved in both sides of the Cartesian join.
  • Some Cartesian joins may not be a direct table-to-table join. If one join "Cartesian joins" to another join, and one of the joins contains a warehouse table (not an intermediate table), then the execution is either canceled or allowed depending on the option selected (see below). For example, if (TT_A join TT_B) Cartesian join (TT_C join WH_D) the following occurs based on the following settings:
  • If the setting Cancel execution only when warehouse table is involved in Cartesian join is selected, execution is canceled. In the above example, execution is canceled because a warehouse table is used, even though TT_A, TT_B, and TT_C are all intermediate tables.
  • If the setting If only one side of Cartesian... is selected, SQL runs without warning. In the above example, execution continues because a warehouse table (WH_D) is used on only one side of the join.

Levels at Which You Can Set This

Database instance, report, and template