Hello,
You are getting that error because the calculated column is trying to read a value from another table without telling DAX which single row to use. For Pivot use a measure instead and pull the margin from the related table with RELATED.
In Power Pivot, in table Fact_Sales, create a new measure and paste this:
Margin$ := SUMX(Fact_Sales, Fact_Sales[Units Sold] * Fact_Sales[UnitPrice] * RELATED(Dim_Suppliers[Negotiated Margin]))
Add this measure to your Pivot. It multiplies Units Sold by UnitPrice by the negotiated margin that is reached through the relationships Fact_Sales > Dim_Products > Dim_Suppliers. If Dim_Suppliers has more than one row per product category, make it one row per category or change RELATED to an explicit aggregator such as MAX to force a single value.