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

We've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now

Reply
Dave1mo1
Helper III
Helper III

How to Calculate "Backlog" on each date in DAX?

Hi, all.

 

I'm trying to calculate my company's historic backlog over the last several years, then plot it on an area chart. I have the following relevant fields:

 

  • Booked Date for the Order
  • Request Date for the Order
  • Invoice Date for the Order
  • Units
  • Sales

I also have a primary relationship set up between Invoice Date & my Date Table, and a secondary relationship set up between Booked Date and my Date Table.

 

My first need is to know, on any given day, the number of units that had been booked but not yet invoiced. That's the most basic definition of backlog. So calculate [Total Units] on that date if the order has been booked on or before that day, but not yet invoiced. I just don't know how to get the syntax right in my DAX.

 

In plain English - Backlog Units equals, for any specific date, the number units associated with orders that have been Booked by that specific date, but not yet Invoiced by that date. How do I do that?

 

Bonus Question: I'd also like to be able to bucket the backlog by the time between "Booked Date" and "Request Date" (when the customer wants the unit delivered), then display those on an area chart as well, so we can those buckets vary over time. How do I create that calculation?

 

Thanks so much!

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Dave1mo1 ,

The Table data is shown below:

vzhouwenmsft_0-1716540964545.png

Use the following DAX expression to create a measure

 

 

Measure = 
VAR _a = MAX('Date'[Date])
VAR _b = SUMX(FILTER('Table','Table'[Booked Date for the Order] <= _a && ISBLANK('Table'[Invoice Date for the Order]) || 'Table'[Invoice Date for the Order] > _a ),[Units])
RETURN _b

 

 

Final output

vzhouwenmsft_1-1716541046967.png

 

 

View solution in original post

2 REPLIES 2
Dave1mo1
Helper III
Helper III

Hi,

 

So sorry for the delayed response. I'm looking to be able to plot this on an area or line chart over time, which I'm not able to do with the measure above. How would I adjust the measure to be able to calculate what the backlog was on each date and produce something like the chart below?

 

Dave1mo1_0-1717011098424.png

 

Anonymous
Not applicable

Hi @Dave1mo1 ,

The Table data is shown below:

vzhouwenmsft_0-1716540964545.png

Use the following DAX expression to create a measure

 

 

Measure = 
VAR _a = MAX('Date'[Date])
VAR _b = SUMX(FILTER('Table','Table'[Booked Date for the Order] <= _a && ISBLANK('Table'[Invoice Date for the Order]) || 'Table'[Invoice Date for the Order] > _a ),[Units])
RETURN _b

 

 

Final output

vzhouwenmsft_1-1716541046967.png

 

 

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.