About Inner vs Outer Join Behavior

The default behavior is to exclude dimension members that do not have corresponding fact rows. In SQL, this is often referred to as inner join behavior, meaning there must be a match in both tables for a result to be included.

For example, if this Sales fact dataset was being joined to this Customer dimension, then only customers A, B, C, and D would be in the result (customer E and F would be excluded because those customers do not have records in the fact data).

/public/images/relationships_inner_join.png

In some cases, you may want to see all dimension members regardless if they have fact data or not. You can configure per dimension hierarchy if you want this outer join type behavior instead. In this case, customer E and F would be in the result, but the sales amount would be NULL (empty) for those customers.