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

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
bweiland
Regular Visitor

Running total for missing dates

Hello, I have data like below , how do I either create a running total column or a dax measure that will create the running total for Jan 2 equal to the Jan 1 values?  There are many 'blank' dates throughout the year not just one.

 

bweiland_0-1747614770833.png

 

2 ACCEPTED SOLUTIONS
Vijay_Chethan
Super User
Super User

Hello bweiland,
i have used a separate date table to include missing dates in sales table and set up relationship between 
date table and sales table:

Vijay_Chethan_0-1747633790550.png


Then i used the following measure to get desired running total, i also observed running total and sales are grouped by GL account

Running Total =
CALCULATE(
    SUM('Sales_Table'[sales]),
    FILTER(
        ALLSELECTED('Date_table'[Date]),
        ISONORAFTER('Date_table'[Date], MAX('Date_table'[Date]), DESC)
    )
)

Vijay_Chethan_1-1747633895462.png



if this helps, please mark as solution

View solution in original post

danextian
Super User
Super User

Hi @bweiland 

 

You can't assign a value to a row that doesn't exist in your data. If January 2 isn't present in your table, no value can be shown for it. To handle this, use a dedicated calendar table with a continuous range of dates, and make sure it's marked as a date table in your model. Set and use date tables in Power BI Desktop

danextian_1-1747633959157.png

 

Running Total = 
CALCULATE (
    SUM ( FactData[Value] ),
    FILTER (
        ALL ( CalendarTable[Date] ),
        CalendarTable[Date] <= MAX ( CalendarTable[Date] )
    )
)

danextian_0-1747633791386.png

 

Please see the attached pbix.

 

 





Dane Belarmino | Microsoft MVP | Proud to be a Super User!

Did I answer your question? Mark my post as a solution!


"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.

View solution in original post

6 REPLIES 6
danextian
Super User
Super User

Hi @bweiland 

 

You can't assign a value to a row that doesn't exist in your data. If January 2 isn't present in your table, no value can be shown for it. To handle this, use a dedicated calendar table with a continuous range of dates, and make sure it's marked as a date table in your model. Set and use date tables in Power BI Desktop

danextian_1-1747633959157.png

 

Running Total = 
CALCULATE (
    SUM ( FactData[Value] ),
    FILTER (
        ALL ( CalendarTable[Date] ),
        CalendarTable[Date] <= MAX ( CalendarTable[Date] )
    )
)

danextian_0-1747633791386.png

 

Please see the attached pbix.

 

 





Dane Belarmino | Microsoft MVP | Proud to be a Super User!

Did I answer your question? Mark my post as a solution!


"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.

Yes,this works but the below also gets the exact same results so I'm interested in what  FILTER ( ALL are required in your query?

 

Cumulative Total =

CALCULATE(

    SUM('Datatable'[Amount]),

    DATESBETWEEN(DateTable[Date], MINX(ALL(DateTable), DateTable[Date]), MAX(DateTable[Date]))

Vijay_Chethan
Super User
Super User

Hello bweiland,
i have used a separate date table to include missing dates in sales table and set up relationship between 
date table and sales table:

Vijay_Chethan_0-1747633790550.png


Then i used the following measure to get desired running total, i also observed running total and sales are grouped by GL account

Running Total =
CALCULATE(
    SUM('Sales_Table'[sales]),
    FILTER(
        ALLSELECTED('Date_table'[Date]),
        ISONORAFTER('Date_table'[Date], MAX('Date_table'[Date]), DESC)
    )
)

Vijay_Chethan_1-1747633895462.png



if this helps, please mark as solution

Yes, this works but the below gets the same result so I'm interested on what the FILTER(ALLSELECTED and ISONORAFTER functions are doing?

 

Cumulative Total =
CALCULATE(
    SUM(Data[Amount]),
    DATESBETWEEN(Data[Date], MINX(ALL(Dates),Dates[Column1]), MAX(Dates[Column1]))
pankajnamekar25
Super User
Super User

Hello @bweiland 

 

Use this measure

Running Total =

CALCULATE(

    SUM('SalesData'[Sales]),

    FILTER(

        ALL('SalesData'),

        'SalesData'[Date] <= MAX('SalesData'[Date])

            && 'SalesData'[GL Account] = MAX('SalesData'[GL Account])

    )

)

Thanks,
 Pankaj Namekar | LinkedIn

If this solution helps, please accept it and give a kudos (Like), it would be greatly appreciated.

This though does not does not the Jan 2 date.  Doesn't the query need to reference a data table like the below query?

bweiland_0-1747674940618.png

Cumulative Total =
CALCULATE(
    SUM(Data[Amount]),
    DATESBETWEEN(Data[Date], MINX(ALL(Dates),Dates[Column1]), MAX(Dates[Column1]))

 

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.