HI,
Your relationships between SalesInvoiceLine → Item → ItemAttributeValueMapping → ItemAttributeValue → ItemAttribute are correct logically, but Power BI will not automatically propagate filters across multiple many‑to‑many hops unless the model is designed with a proper bridge or flattened structure. In other words, Power BI cannot automatically relate SalesInvoiceLine and ItemAttribute solely by chaining those tables* without adjusting the model.
To make this work, you have two reliable options:
Option 1: Flatten the relationships in Power Query
Instead of relying on automatic relationships, merge the tables so that the SalesInvoiceLine table includes the Item attributes directly in a single table.
Example merges in Power Query:
- Merge SalesInvoiceLine with Item on Item No
- Merge result with ItemAttributeValueMapping on Item No
- Merge result with ItemAttributeValue on ItemAttributeValueID
- Merge with ItemAttribute on AttributeID
This produces a table where all necessary fields are in one place.
Option 2: Use a dimension‑bridge design
Create a bridge table (distinct Item + ItemAttribute + ItemAttributeValue) that relates to both SalesInvoiceLine and the attribute tables. This avoids filters needing to traverse multiple hops and lets Power BI propagate filters correctly.
A star schema with fact (SalesInvoiceLine) and dimension (Items + Attributes) is the recommended model design.
The problem you are encountering is due to how relationships and cardinality work in Power BI. Power BI supports many‑to‑many relationships but requires careful modeling for correct filter propagation. A bridge or flattened table avoids ambiguity and ensures visuals return correct data.
Helpful References
Item Attributes tables in BC (shows structure and how item attributes work):
Many‑to‑many relationships explanation (Power BI) (why bridging or flattened design is needed)
Power BI relationship modeling guidance (best practices for bridging many‑to‑many)
If you find this helpful, feel free to mark this as the suggested or verified answer.
Cheers
Jeffrey