Forum Discussion

AAMW01's avatar
AAMW01
Helper I
5 years ago
Solved

DAX Getting running total from Active orders

I have an example table below,

 

OrderNumberRefDateOrderedDateOrderDuePrice x Quantity
1AP103/07/202101/09/20211200
2AP204/07/202108/07/202190
3AP310/07/202114/07/2021120
4AP417/07/202102/10/2021400
5AP518/07/202121/07/202155
6AP601/08/202104/08/202190
7AP702/08/202101/11/2021180
8AP804/08/202108/09/2021400
9AP905/08/202101/11/2021850

 

It is linked to a calendar table on order date created by this measure:


Calendar Table = ADDCOLUMNS( CALENDAR(DATE(2019,01,01), DATE(2025,01,01)), "Year", YEAR([Date]), "Month Year Num", CONCATENATE(YEAR([Date]), FORMAT([Date],"MMM")), "Month Num", MONTH([Date]), "Month", FORMAT([Date], "MMM"), "Quarter Num", FORMAT([Date], "Q"), "Quarter", CONCATENATE("Q", FORMAT([Date], "Q")), "DAY", FORMAT([Date], "D"), "Week", FORMAT([Date], "WW") )

 

An active order is an order in the table where its due date is not past the date you are viewing at. 

 

I want to get the total value of orders in (dateordered) - orders out (dateorderdue) as a line graph.

What I had was: 

SOR Cumulative Total =
CALCULATE(SUM(SorSalesOrderBookLines[Price x Quantity]), DATESBETWEEN('Calendar Table'[Date], MAX(SorSalesOrderBookLines[DateOrdered]), MAX(SorSalesOrderBookLines[DateOrderDue]))
)

For example I want to view a point in the line graph "August 1st 2021" & I will see 1690.  I know I need to link the 2nd date to a calendar but power bi does not allow this.
 
Please assist me, thank you
  • AAMW01's avatar
    AAMW01
    5 years ago

    Thank you for the references,

     

    I created a query which does what I wanted and I will post it here incase someone has a similar issue.

     

    Running Total MEASURE 1 = 
    CALCULATE (
        SUM ( Sheet1[Price x Quantity] ),
        FILTER (
            ALL ( 'Calendar Table' ),
           'Calendar Table'[Date] <= MAX ( 'Calendar Table'[Date] )
        )
    ) - 
    CALCULATE(
        SUM( Sheet1[Price x Quantity]),
        FILTER (
            ALL ( Sheet1 ),
           Sheet1[DateOrderDue] <= MAX ( 'Calendar Table'[Date] )
        )
    )

    I created a link between my order date in my order book table & calendar table.

    I then created a formula to get the cumulative total of all orders added onto the system.

    I then created a formulat to subtract the date order due transactions against the calendar date.

2 Replies