Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
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
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.
| User | Count |
|---|---|
| 29 | |
| 27 | |
| 26 | |
| 23 | |
| 16 |
| User | Count |
|---|---|
| 53 | |
| 46 | |
| 38 | |
| 30 | |
| 21 |