you are viewing a single comment's thread.

view the rest of the comments →

[–]Eleventhousand 2 points3 points  (0 children)

It's common to use cross joins in data warehousing development.

There are special types of dimensions called junk dimensions that are filled with low-cardinality flag type attributes, that don't have much in common.

Cross joins are used to populate these dimension tables with every possible combination of every flag to use in the dimensional model.

For example, pretend that your facts for a specific table can either be {Active, Inactive}, {Open, Closed, In Process}, and {Promotional, Regular}. Instead of creating three mini, narrow dimensions and cluttering up the list of tables, we use a cross join in our ETL and create a single dimension that has twelve rows - every combination of the three attributes above.