This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Dear PBI Community,
Glad to be part of the Power BI users since a few weeks, I learned a lot about Power BI and already generated a lot of reports but today, I'm facing an issue and I can't find a solution.
I'm Incident Manager and I need a graph showing the Open / Closed tickets with the backlog (backlog meaning a picture of how many tickets where opened for a certain period).
I have the following data :
With these data, I'm able to generate this graph :
The "Backlog Tickets" is a measure :
Backlog Tickets =
VAR
Incoming_Tickets = CALCULATE(
COUNT(Fact_Incoming_Closed[Request ID]),
FILTER(
ALLSELECTED(Fact_Incoming_Closed),
Fact_Incoming_Closed[Date]<=MAX('Fact_Incoming_Closed'[Date])
),
FILTER(
ALLSELECTED(Fact_Incoming_Closed),
Fact_Incoming_Closed[Status]="Incoming"
)
)
VAR
Closed_Tickets = CALCULATE(
COUNT(Fact_Incoming_Closed[Request ID]),
FILTER(
ALLSELECTED(Fact_Incoming_Closed),
Fact_Incoming_Closed[Date]<=MAX('Fact_Incoming_Closed'[Date])
),
FILTER(
ALLSELECTED(Fact_Incoming_Closed),
Fact_Incoming_Closed[Status]="Closed"
)
)
RETURN
Incoming_Tickets-Closed_TicketsSolved! Go to Solution.
HI @yanx1990 ,
You can consider to add all function to ignore all filters to get unfiltered records, then you can use condition filters on these records to get specific range backlog:
Backlog Tickets =
VAR currDate =
MAX ( 'Fact_Incoming_Closed'[Date] )
VAR Incoming_Tickets =
CALCULATE (
COUNT ( Fact_Incoming_Closed[Request ID] ),
FILTER (
ALL ( Fact_Incoming_Closed ),
Fact_Incoming_Closed[Date] <= currDate
&& Fact_Incoming_Closed[Status] = "Incoming"
)
)
VAR Closed_Tickets =
CALCULATE (
COUNT ( Fact_Incoming_Closed[Request ID] ),
FILTER (
ALL ( Fact_Incoming_Closed ),
Fact_Incoming_Closed[Date] <= currDate
&& Fact_Incoming_Closed[Status] = "Closed"
)
)
RETURN
Incoming_Tickets - Closed_Tickets
Regards,
Xiaoxin Sheng
Hi @yanx1990 ,
In my opinion, I think you need to use calendar date(not has relationship to current table) as axis and filter conditions to calculate.
Backlog Tickets =
VAR cDate =
MAX ( Calendar[Date] )
VAR Incoming_Tickets =
CALCULATE (
COUNT ( Fact_Incoming_Closed[Request ID] ),
FILTER (
ALLSELECTED ( Fact_Incoming_Closed ),
Fact_Incoming_Closed[Date] <= cDate
&& Fact_Incoming_Closed[Status] = "Incoming"
)
)
VAR Closed_Tickets =
CALCULATE (
COUNT ( Fact_Incoming_Closed[Request ID] ),
FILTER (
ALLSELECTED ( Fact_Incoming_Closed ),
Fact_Incoming_Closed[Date] <= cDate
&& Fact_Incoming_Closed[Status] = "Closed"
)
)
RETURN
Incoming_Tickets - Closed_Tickets
When you use same table fields as filter, calculation result should been filtered by auto-exist filter if you not add all/allexcept to ignore specific filters.
Regards,
Xiaoxin Sheng
Hi @Anonymous ,
Many thanks for your answer :). Unfortunately, this solution doesn't work. PBI returns an error saying :
However, I didn't think about using another table without relation. Maybe I will be able to make it working on another way.
I'll try today and let you know 😉
Thanks a lot !
Yannick
Hi @yanx1990 ,
Can you please share a pbix file with some sample file to test?
Regards,
Xiaoxin Sheng
Hello,
@Anonymous Many thanks for your answer. Here's the PBIX and CSV sample data file.
Kind regards,
Yannick
HI @yanx1990 ,
You can consider to add all function to ignore all filters to get unfiltered records, then you can use condition filters on these records to get specific range backlog:
Backlog Tickets =
VAR currDate =
MAX ( 'Fact_Incoming_Closed'[Date] )
VAR Incoming_Tickets =
CALCULATE (
COUNT ( Fact_Incoming_Closed[Request ID] ),
FILTER (
ALL ( Fact_Incoming_Closed ),
Fact_Incoming_Closed[Date] <= currDate
&& Fact_Incoming_Closed[Status] = "Incoming"
)
)
VAR Closed_Tickets =
CALCULATE (
COUNT ( Fact_Incoming_Closed[Request ID] ),
FILTER (
ALL ( Fact_Incoming_Closed ),
Fact_Incoming_Closed[Date] <= currDate
&& Fact_Incoming_Closed[Status] = "Closed"
)
)
RETURN
Incoming_Tickets - Closed_Tickets
Regards,
Xiaoxin Sheng
Hi Xiaoxin Sheng,
@Anonymous wrote:HI @yanx1990 ,
You can consider to add all function to ignore all filters to get unfiltered records, then you can use condition filters on these records to get specific range backlog:
Backlog Tickets = VAR currDate = MAX ( 'Fact_Incoming_Closed'[Date] ) VAR Incoming_Tickets = CALCULATE ( COUNT ( Fact_Incoming_Closed[Request ID] ), FILTER ( ALL ( Fact_Incoming_Closed ), Fact_Incoming_Closed[Date] <= currDate && Fact_Incoming_Closed[Status] = "Incoming" ) ) VAR Closed_Tickets = CALCULATE ( COUNT ( Fact_Incoming_Closed[Request ID] ), FILTER ( ALL ( Fact_Incoming_Closed ), Fact_Incoming_Closed[Date] <= currDate && Fact_Incoming_Closed[Status] = "Closed" ) ) RETURN Incoming_Tickets - Closed_TicketsRegards,
Xiaoxin Sheng
@Anonymous wrote:HI @yanx1990 ,
You can consider to add all function to ignore all filters to get unfiltered records, then you can use condition filters on these records to get specific range backlog:
Backlog Tickets = VAR currDate = MAX ( 'Fact_Incoming_Closed'[Date] ) VAR Incoming_Tickets = CALCULATE ( COUNT ( Fact_Incoming_Closed[Request ID] ), FILTER ( ALL ( Fact_Incoming_Closed ), Fact_Incoming_Closed[Date] <= currDate && Fact_Incoming_Closed[Status] = "Incoming" ) ) VAR Closed_Tickets = CALCULATE ( COUNT ( Fact_Incoming_Closed[Request ID] ), FILTER ( ALL ( Fact_Incoming_Closed ), Fact_Incoming_Closed[Date] <= currDate && Fact_Incoming_Closed[Status] = "Closed" ) ) RETURN Incoming_Tickets - Closed_TicketsRegards,
Xiaoxin Sheng
@Anonymous wrote:HI @yanx1990 ,
You can consider to add all function to ignore all filters to get unfiltered records, then you can use condition filters on these records to get specific range backlog:
Backlog Tickets = VAR currDate = MAX ( 'Fact_Incoming_Closed'[Date] ) VAR Incoming_Tickets = CALCULATE ( COUNT ( Fact_Incoming_Closed[Request ID] ), FILTER ( ALL ( Fact_Incoming_Closed ), Fact_Incoming_Closed[Date] <= currDate && Fact_Incoming_Closed[Status] = "Incoming" ) ) VAR Closed_Tickets = CALCULATE ( COUNT ( Fact_Incoming_Closed[Request ID] ), FILTER ( ALL ( Fact_Incoming_Closed ), Fact_Incoming_Closed[Date] <= currDate && Fact_Incoming_Closed[Status] = "Closed" ) ) RETURN Incoming_Tickets - Closed_TicketsRegards,
Xiaoxin Sheng
Hi @Anonymous ,
It works like a charm !! Tested on my production database (the CSV was just a sample) and it's just what I expected to do.
Again many many thanks and have a wonderful day ![]()
Yannick
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 37 | |
| 32 | |
| 27 | |
| 24 | |
| 17 |
| User | Count |
|---|---|
| 70 | |
| 50 | |
| 31 | |
| 26 | |
| 22 |