Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
BILearner
Advocate I
Advocate I

Calculate values in one fact table from another fact table

Hi ,

I have following data model which has 2 fact tables 3 dimension tables and 1 bridge table to resolve many to many relationship. 

 

Data Model - Forum.jpg

 



I am trying to calculate Sales Volume since the contract Start Date for each "Product ID" in Contracts Table using following formula

Sales Volume Since Contract Start Date=
CALCULATE ([Total Volume],
FILTER (
SalesFact,
SalesFact[INVOICE_DATE]
>= MIN ( Contracts[Contract Start Date] )
),
SalesFact[PRODUCT_ID]
IN VALUES ( Contracts[Product ID] ),
SalesFact[BILL_TO_CUST_ID]
IN VALUES ( Contracts[Bill To ID] )
)

 

I get correct results when I throw this measure in a table which provides Context for  MIN ( Contracts[Contract Start Date] ) . However, if I throw this measure in a card visual or in any other visual without a Contract Start date context I get incorrect results. 

Can somone please tell me how can I resolve this? I think I need to use somekind of iterator function to get the result I need, but I can't seem to figure it out.  

Thanks! 


4 REPLIES 4
amitchandak
Super User
Super User

@BILearner , Try like. In case it joined with contract table and other tables, then what is need of in clause

 

sumx(summarize(Contracts, Contracts[Product ID] , "_1" ,CALCULATE ([Total Volume],
FILTER (
SalesFact,
SalesFact[INVOICE_DATE]
>= MIN ( Contracts[Contract Start Date] )
)
)) ,[_1])

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Thank you for your advice @amitchandak I was able to build on your formula to come up with following forumla

Actual Volume =
SUMX (
ADDCOLUMNS (
SUMMARIZE (
Contracts,
'NewSKUBridge'[Product ID],
BillToBridge[Bill To ID]
),
"Act Vol", CALCULATE([Total Units Sgls],DATESBETWEEN('Calendar'[Date],MIN(Contracts[Contract Start Date]),MAX(Contracts[Contract End Date])))
),
[Act Vol]
)
However, with this formula the Date is always locked to contract start date and contract end date. What I want is a user should be able to make a selection on date slider/slicer to see back in time. However this solution doesn't allow that as the start and end dates are locked based on dates in Contract Table.

So, I wrote another measure as follows, but it is not working at all. 

Actual Volume 2 =
SUMX (
ADDCOLUMNS (
SUMMARIZE (
Contracts,
'NewSKUBridge'[Product ID],
BillToBridge[Bill To ID]
),
"Act Vol", CALCULATE([Total Units Sgls],DATESBETWEEN('Calendar'[Date],MIN('Calendar'[Date])>=MIN(Contracts[Contract Start Date]),MAX('Calendar'[Date])<=CALCULATE(MAX(Contracts[Contract End Date]),USERELATIONSHIP(Contracts[Contract End Date],'Calendar'[Date]))))
),
[Act Vol]
)
Could you please advice how can I fix this? 

Below is the updated data model with inactive relationship between calendar-date field and Contract End Date
 
Data Model 2 - Forum.jpg

 

amitchandak
Super User
Super User

@BILearner , Try with Values at Invoice Id or Date level

CALCULATE ([Total Volume],
FILTER (
SalesFact,
SalesFact[INVOICE_DATE]
>= MIN ( Contracts[Contract Start Date] )
),
SalesFact[PRODUCT_ID]
IN VALUES ( Contracts[Product ID] ),
SalesFact[BILL_TO_CUST_ID]
IN VALUES ( Contracts[Bill To ID] )
, values(SalesFact[INVOICE_ID]) //SalesFact[INVOICE_DATE]
)

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

@amitchandak  Thank you for your response I tried both of your solution with Values(INVOICE_ID)// INVOICE_DATE.

It didn't work, it gave me the exact same result as my previous formula.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.