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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Anonymous
Not applicable

DAX and filter context - Running total of debtors

Stuck trying to work out what my debtor position is over a period of time.  For any order I can work out that on any date selected (from a disconnected calendar table) whether the order was a debtor.  This  works fine for each order but not for totals across 3 orders (see table below) - I understand this because I am not filtering per line and it calculating the debtor across all 3 orders for the entire time span.  If I filter over the calendar table or the order table I get the same result - it is fundamentally just wrong.  Need a nudge please.

 

Debtor Curr =
var startdate = min(Orders[DATE Closed]) //when the order becomes a debtor
var enddate = max(Orders[DATE Paid]) // when the order stops being a debtor
var mindate = min('Calendar Debtors'[Date]) // minimum date selected
var maxdate = max('Calendar Debtors'[Date]) // maximum date selected
return

CALCULATE(
sumx('Calendar Debtors',[Sale plus VAT Curr]+[Sage Non Stock Curr]),
filter('Calendar Debtors',
mindate>=startdate &&
maxdate<=enddate
)
)+0



ruthhacche_0-1616490999673.png

 

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@Anonymous , Try a measure like

 

measure =
var _max = maxx(ALLSELECTED('Calendar Debtors'),'Calendar Debtors'[Date])
var _min = minx(ALLSELECTED('Calendar Debtors'),'Calendar Debtors'[Date])
return
sumx('Orders',[Sale plus VAT Curr]+[Sage Non Stock Curr]),
filter('Orders',
_min>=min(Orders[DATE Closed]) &&
_max<=max(Orders[DATE Closed])
)
)+0

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

View solution in original post

1 REPLY 1
amitchandak
Super User
Super User

@Anonymous , Try a measure like

 

measure =
var _max = maxx(ALLSELECTED('Calendar Debtors'),'Calendar Debtors'[Date])
var _min = minx(ALLSELECTED('Calendar Debtors'),'Calendar Debtors'[Date])
return
sumx('Orders',[Sale plus VAT Curr]+[Sage Non Stock Curr]),
filter('Orders',
_min>=min(Orders[DATE Closed]) &&
_max<=max(Orders[DATE Closed])
)
)+0

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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