JIRA: Days in transition status

I would like to measure how long bugs are in the states Open, In Work, and Reopened. This will Show how long we need in average to fix bugs. I would like to see the time going down in the long term.
I’m using the following formula:
[Measures].[Days in transition status]

The created report (timeline) looks reasonable. However, diving into Details

  • I’ve seleted the states Open, Reopenend, and In Work
  • Drilling through an issue Shows that
    • Days in Transition Status is reported for a certain issue to be 480 days. But when looking into ist JIRA Details, it was 480 days In Work, but before it was 6 other days also in open. Those 6 days were not taken into account
    • Days in Transition Status is reported as 0 days, but the bug was accroding to JIRA 107 days in the open state before it was closed.

How is “Days in transition Status” calculated in Details?

Hi Daniel!

Status dimension shows issue current status. Historic issue statuses are saved in the Transition status dimension. ‘Days in transition status’ measure should be used together with Transition status dimension to see historically how many days issues spent in each of the statuses. Please see more details here (also more detailed description of ‘Days in transition status’ measure) https://docs.eazybi.com/display/EAZYBIJIRA/Import+issue+change+history.

Could you confirm that you are using the Transition status dimension?

Hi Lauma
Yes, I can confirm that. I cannot make screenhots due to Company restrictions

  • I’m using a Timeline with Columns Measures
  • In there I’ve had selected “Avarage days in transition Status” which divides the total time by the number of transitions.
  • Since I do not want to that behavior, I’ve created my own member as stated in my first question
  • With the own member, I have observed the points that I’ve listened in my question

Hi Daniel,

I am truly sorry the notification of your reply did not reach me and I have only now discovered you posted a reply! I hope this question is already solved for you, but I will post my reply for other Community readers.

Average days in Transition status, as well as Days in Transition status, are linked to Time dimension. On the date issue transitions out of status, eazyBI records how much time it spent in that status since it went into it the last time. If it had been in this status before, the time it spent in the status previously is recorded on the previous date it transitioned out of it.
So, from your example, I imagine the issue shows 480 days In Work on one date, and on the date 480 days earlier it would show 6 days in Open.

If there is a need to sum all days spent in selected statuses in all time, then it is necessary to define the logic of when to show the total on the timeline, e.g. on last day when transitioning out of any of the statuses or on resolution date.

Let me know if there is anything else I can assist you with!
Lauma / support@eazybi.com

Hi Lauma! (@lauma.cirule)
The main Issue with ‘Days in transition status’ is that time is not counted if issue does not live the status.
Foe example above if issue is created 2 weeks ago and it is still in “Open” Status Days in transition status for open will be zerro (0) :frowning: . However it is in “Open” for 2 weeks. If you made a transition to InWork than you finally will see time in status

do you have any solution for that?

Hi @Supercoban,

Yes, the Days in transition status measure calculates the time whenever there is an end date for the status. It is not dynamically changing according to the current date.

There is an example for Days in current status measure in a demo report: List of issues in progress - Issues - Jira Demo - eazyBI.

Lauma / support@eazybi.com

Thank you @lauma.cirule, for your answer

There is an example for Days in current status measure in a demo report: List of issues in progress - Issues - Jira Demo - eazyBI.

yes it looks like this

DateDiffDays([Measures].[Issue status updated date], Now())

but it is not the needed value.
I need statistics for all status duration including history transitions and current status.
In Example Above I could have such transitions
→ Open 7days ago
Open-> In Work 5 days ago
In Work->Open 2 days ago

Сorrect statistics is
Open 4 days
In Work 3 days

It is common business task. I need to have proper solution

It seems that solution looks like

[Measures].[Days in transition status] + IIF([Transition Status].CurrentMember.Name = [Status].CurrentMember.Name, DateDiffDays([Measures].[Issue status updated date],Now()),0 ))

The only problem that i need to have Status Dimention in Report.
Can I get Current Status from Issue Properties?

Hi @Supercoban,

Yes, you are on the right track, however, the formula depends on your report context.
If you already have Issues and Transition status, you can use issue property [Measures].[Issue status] to get the current issue status.

Lauma / support@eazybi.com

Hi @lauma.cirule
the solution without Status Dimension looks like this

[Measures].[Workdays in transition status]+ IIF([Transition Status].CurrentMember.GetNumber(‘KEY’) = [Issue].CurrentMember.GetNumber(‘Status ID’), DateDiffWorkDays([Measures].[Issue status updated date],Now()),0 )

The Problem i still have is i can’t see aggregated values for average in status

The predifined measure with correct time in status calculated will solve many problems


The measures that are stored in the eazyBI database are calculated at a particular moment in time (import timestamp). This is the reason the Days in current status are calculated with MDX as we wish to see days until now, not the import date.

You can go further here and calcualte the Avg(…) for the set of issues (Descendants(…)).

If you would need further assistance with the formula, you may send the report definition to support@eazybi.com (add a reference to this conversation).

Lauma / support@eazybi.com

hey! I am trying to do something similar to what you were looking for. Do you mind sharing how you resolved this?

Greetings! I’m sorry, but too much time has passed and I won’t remember (and I won’t be able to find) how did I solve this problem