Bidirectional relationship

  1. Open the Manage Relationships window from the Modeling tab and select the Sales to Product relationship.
  2. Modify the relationship between Product and Sales to Both for the Cross filter direction.
Bi-Directional Relationship Configuration (Both) from Edit Relationships Dialog
  • Filter selections on one of the other dimension tables (Customer or Date) now also filter the Product table:
    • Filtering on the male gender reduces the Product table to only the rows associated with a sale to the male gender.
Bi-Directional Cross Filter Impact on Product Table via Customer Table Filter
  • Only the Date table is not impacted by the slicer selection given its single-direction relationship to the Sales fact table.
  • The customer table filters the Product table via the Sales table and its bidirectional relationship with product.
Bidirectional Cross Filter Impact in Report Visual
  • With a single-direction cross filter, the Product table measure would show 606 for male and female (all products).
    • Unsold products (products without rows in the Sales table) account for the difference in all product rows.
Bidirectional relationships between fact and dimension tables should generally be avoided when the given dimension table is also related to other fact tables. This can cause over filtering or unintended filter contexts. For similar reasons, the bidirectional cross-filtering white paper recommends single-direction relationships between date and fact tables. However, bidirectional relationships are an integral part of efficient solutions to common (and otherwise complex) modeling scenarios such as Actual versus Budget and classical Many-to-Many scenarios.