How to display number of issues in historical statuses over time?

Hi Martins,

I use ‘transition from status issues account’ dimention to count <between sprint 2021-08-30 to 2021-09-10, how many issues were in specific status. > However, what if one issue was ‘To-do’ on 2021-08-13, but change status to ‘In progress’ on 2021-10-07? Obviously this kind of issues was not counted by the formular since there is no status change duriing the period.
But what I need is, even the issue status keep staying as ‘To-do’ within the time period still need to be counted. How should i change the formular?

@Yan_Han

Try using the predefined measure “Issues history”. When used together with “Transition Status” dimension, it would calculate the count of issues in the status at the end of the period, so even if issue didn’t change status during the sprint time, it would still be counted.

Martins / eazyBI

Hi Martins,
I also used this ‘issue history’ measure. But what if I want to calcuate the count of issues in the status at the ‘begining’ of the period, not the end…how should I do.
The reason I want ‘begining’ was because we need to measure how many issues have been opened by people, we do care whether there was an action of opening (that’s why we define some status as ‘opened’), what we don’t care is whether it was closes/canceled in the end. So we can measure the KPI of our suppliers.

Thanks,
Yan

@Yan_Han
In that case, you could create a new calculated measure and use that instead of “Issues history”
Try this formula.

CASE 
	WHEN
	NOT [Time].CurrenthierarchyMember IS
	[Time].Currenthierarchy.DefaultMember
	AND
	[Time].CurrenthierarchyMember.level.name <> "(All)"
	THEN
	Sum((
	[Measures].[Issues history],
	[Time].CurrenthierarchyMember.Prevmember
	))
	ELSE
	SUM(
	[Measures].[Issues history]
	)
END

That would return the result from the previous period for each month/quarter/year/day/week

Martins / eazyBI

1 Like

Just to clarify, during the sprint period, we need 1. count of issues which first changed to specific status. 2. count of issues which stay with specific status from previous period.

So I think ‘return the result from previous period’ is exactly what we want. However, I created a new measure with your code, but it shows totally the same data result with ‘issue history’ measure…Do u think it’s the problem of ‘Transition Status’ measure? Below is what I use.

Aggregate({
[Transition Status].[Open],
[Transition Status].[Reopened],
[Transition Status].[In Analysis],
[Transition Status].[To Analyse],
[Transition Status].[To Do],
[Transition Status].[In Progress],
[Transition Status].[MR-Review],
[Transition Status].[PO Review],
[Transition Status].[New]

})

How do you define Sprint periods in Jira?
What exactly means “start with specific status from previous period”?

Martins

That’s how I define Sprint. take below as example.

Aggregate(
[Time].[Day].DateMembersBetween(‘2021-08-30’, ‘2021-09-10’)
)

“start with specific status from previous period” means, between 2021-08-30 to 2021-09-10, count how many issues started with one of below status: ‘New’, ‘Open’, ‘To Analyse’, ‘Analysis’, ‘Blocked’, ‘To Do’, ‘In Progress’, ‘MR-Review’, ‘PO Review’, ‘Reopened’.

Let me give u some examples on what we want to measure for the number of history issues:

Senario 1: JIRA-01 was ‘opened’ on 2021-08-31, closed on 2021-10-01, we count
Senario 2: JIRA-02 was ‘To-do’ on 2021-08-31, but ‘canceled’ on 2021-09-01, we also count. Since the issue started with specific status that we want during the sprint.
Senario 3: JIRA-03 was ‘new’ on 2021-08-16, but changed to ‘open’ on 2021-08-31, we count
Senario 4: JIRA-04 was ‘Analysis’ on 2021-08-16, and change to ‘In progress’ on 2021-10-01, we also count. Since during the sprint, the issue was keeping in status ‘Analysis’.

Because the purpose is to measure the KPI for our suppliers, so we want to know how many issues was in ‘open’ status during the sprint. We regard all above status as ‘open’.

@Yan_Han
Try this formula for calculated measure:

Count(
Filter(
DescendantsSet([Issue].CurrentHierarchyMember,[Issue].[Issue]),
[Measures].[Transitions to status]>0
OR
[Measures].[Issues history]>0
)
)

It should count issues that either reached on of transition statuses during the sprint timeline or that were present in those statuses a the end of the sprint’s time period.

Then select “Transition Status” dimension as page filter to select only necessary statuses.

Martins / eazyBI

Hi @martins.vanags ,
I am analyzing a sprint and I would like to know the stories that went to state X in previous sprints, is it possible to obtain this measurement?

@Marcelo_Ignacio_Cid1
Try creating a user defined calculated measure with a predefined measure “Transitions to status issues count” and “Transition status”.x member in the tuple.

Martins / eazyBI

1 Like

Hi Martin, on the same topic, can you tell me how for a certain period of time ( say a sprint) I can see all issues that were in progress and for how long during that time period . For example, say between Nove 1 and Nov 15 , I want to see all issues that were in progress and for how long they were In progress( irrespective of what their status is right now). This will help teams that do not log hours in Jira to calculate how much time was spent on what during a definite time period.

I see that this question is best discussed here cos there are reports that you have assisted on this thread that are close to what I ask . So any help is appreciated.

Ukesh.

@Ukesh_Upendran

This use-case sounds like a complex custom calculation where you should iterrate through time periods in the report and through issues for each day (in the time period) to check which issue was in the status at the end of each day and then return a sum of days for all these issues

How would you organize your report? (what dimensions in rows, page filters etc).
And how exactly are you planning to define “from to” period in the report?

Martins/eazyBI

Hello Everyone,

I’m tried to reproduce the same idea by priority:

As you can se, some results are 0 and other are blank. Why is happening that, and whats the meaning?

I understand that the report is showing the number of issues that have been in each status. I’m trying to check the result by JQL on Jira to make sure that I have built the report correctly, but I have results that do they look like wrong:

imagen

How is possible that JQL returns results of issues that are transitioned to “Blocked” and report don’t shows nothing?

It would also help me to know how to change the order of the statuses in the result of the report.

I hope that you can help me.

Thank you eveyone

@Sergi

Empty results in this report are displayed if that transition status was never while issues were in the particular priority.
For example, there were NO issues transitioned to “Cherry Picked” status while being in the “Medium” priority.
However, 0 results would be if they were sent to “Blocked” status and then removed from it while being in the “Medium” priority.

The second question can be checked when using the measure “transitions to status issues count,” which shows actual transitions to status, not the result at the end of the period.
Your report doesn’t use the “Time” dimension, so issues history shows the number of issues as it is today. That means even if 16 issues were changed status to Blocked. 0 of them are today in “Blocked” status. The “Issues history” measure returns the count of issues by historical status at the end of the reporting period (if any period is selected at all) or for today (if no Time dimension is used in the report).

Martins /eazyBI

Hi! I am very new to eazyBI and don’t understand many things.
I’d like to achieve the same effect as counting issues that were in the “In Progress” status at the end of the time period, but instead of counting i need to sum the values of calculated integer field for issues that were in the “In Progress” status at the end of the time period. How can i do that?

Thanks in advance,
Minaii

@Minaii

Please make sure that the “integer” field is imported as property, then use this formula:

Sum(
Filter(
DescendantsSet([Issue].CurrentMember,[Issue].[Issue]),
Not isEmpty([Measure].[Issue integer field name])
),
CASE WHEN
[Measures].[Issues history]>0
THEN
[Measures].[Issue integer field name]
END
)

Martins / eazyBI

1 Like

Thank you so much for the fast reply, that worked! :smile: