Issue Epic Name only populating when Issue Type = Epic

On my own reports and in the demo account, it seems like the lookup for Issue Epic Link works OK, returning the issue key for the corresponding epic, but Issue Epic Name does not populate unless the Issue in the row is an epic issue type. The two fields have very similar code so I would expect them to be pulling data at the same level.

I would expect if a non-Epic issue type is linked to an Epic, that Issue Epic Link and Issue Epic Name would both populate in the report.

[Measures].[Issue Epic Link] = [Issue].CurrentHierarchyMember.get(‘Epic Link’)
[Measures].[Issue Epic Name] =[Issue].CurrentHierarchyMember.get(‘Epic Name’)
but

From definition
{“name”:“Issue Epic Link”,“dimension”:“Measures”,“formula”:"[Issue].CurrentHierarchyMember.get(‘Epic Link’)",“format_string”:"",“annotations”:{“group”:“Issue properties”,“predefined”:true}},{“name”:“Issue Epic Name”,“dimension”:“Measures”,“formula”:"[Issue].CurrentHierarchyMember.get(‘Epic Name’)",“format_string”:"",“annotations”:{“group”:“Issue properties”,“predefined”:true}}

Please excuse my ignorance.

Hi @davide,

Issue Epic Link and Issue Epic Name are issue properties and eazyBI represent values which are assigned to each issue in Jira. For example, if issue is an epic, it has field Epic Name, but does not have Epic Link as epics themselves cannot be under any other epic. If an issue is a story and assigned to some epic, it does not have field Epic Name but has value for another field Epic Link.

Predefined issue properties are straight forward and represent only those values which each issue has in Jira.

I understand that you would like to have one column which would represent Epic Name or Epic Name of linked epic. In that case, you may define a new calculated measure in Measures and combine both properties like this:

CASE WHEN [Measures].[Issue type] = "Epic"
THEN --for epics return Epic Name
  CoalesceEmpty([Measures].[Issue Epic Name],"")
ELSE -- for other issues return linked Epic Name
  [Issue].[Issue].GetMemberByKey(
    [Measures].[Issue Epic Link]
  ).Get('Epic Name')
END

Calculated measure with the epic name might look like in the picture below:

Best,
Zane / support@eazyBI.com

1 Like

Hi, this question was solved, and my question is based on this+ an extra problem.

I want to Display the Epic Name, but my Rows are from another Dimension.

I have tried this (just in the beginning…actual it was a “count” , so ists nurmeric oriented:

nonzero(Aggregate(
Filter (Descendants([Buchungsknoten].CurrentMember,[Issue].[Issue]),
([Measures].[Epic Name],
[Buchungsknoten].Currenthierarchy.DefaultMember)>0 and
DefaultContext((
[Measures].[Epic Name],
[Buchungsknoten].CurrentHierarchyMember,
[Issue.Epic].[Parent].GetMemberbyKey([Issue].CurrentHierarchyMember.key).Parent,
[Issue type].[Epic]
)) >=0
)
))

Someone got an Idea?

{
“cube_name”: “Issues”,
“cube_reports”: [ {
“name”: “Test_Buchungsknoten_als_Key1”,
“result_view”: “table”,
“definition”: {“columns”:{“dimensions”:[{“name”:“Measures”,“selected_set”:["[Measures].[Einheiten_2]","[Measures].[Einheiten angelegt ]","[Measures].[Einheiten geschlossen ]","[Measures].[Einheiten verbleibend ]","[Measures].[Delta Einheiten ]","[Measures].[Geschätzter Anteil am Gesamtbudget]","[Measures].[Verkaufsbetrag_1]","[Measures].[Std. benötigt dez.]","[Measures].[Restbudget ]","[Measures].[Tage verbleibend ]"],“members”:[]}]},“rows”:{“dimensions”:[{“name”:“Buchungsknoten”,“selected_set”:["[Buchungsknoten].[All Buchungsknotens]"],“members”:[{“depth”:0,“name”:“All Buchungsknotens”,“full_name”:"[Buchungsknoten].[All Buchungsknotens]",“drillable”:true,“type”:“all”,“expanded”:true,“drilled_into”:false,“removed”:true},{“depth”:1,“name”:"(none)",“full_name”:"[Buchungsknoten].[(none)]",“removed”:true,“parent_full_name”:"[Buchungsknoten].[All Buchungsknotens]"}],“bookmarked_members”:[]}],“nonempty_crossjoin”:true},“pages”:{“dimensions”:[]},“options”:{},“view”:{“current”:“table”,“maximized”:false,“table”:{“cell_formatting”:{"[Measures].[Restbudget ]":[{“max”:“0”,“background_color”:"#DA8D98"},{“min”:“0”,“background_color”:"#B5CA92"}]},“freeze_header”:false}}}
} ],
“calculated_members”: [{“name”:“Issue Buchungsknoten”,“dimension”:“Measures”,“formula”:"[Issue].CurrentHierarchyMember.get(‘Buchungsknoten’)",“format_string”:"",“annotations”:{“group”:“Issue properties”,“predefined”:true}},{“name”:“Geschätzter Anteil am Gesamtbudget”,“dimension”:“Measures”,“formula”:“CoalesceEmpty([Measures].[Anteil am Gesamtbudget], 0)”,“format_string”:"##,##.00 €"},{“name”:“Einheiten_2”,“dimension”:“Measures”,“formula”:“CoalesceEmpty([Measures].[Einheiten], 0)”,“format_string”:""},{“name”:“Einheiten angelegt “,“dimension”:“Measures”,“formula”:“nonzero(count(\n Filter (Descendants([Issue].CurrentMember,[Issue].[Issue]),\n ([Measures].[Issues created],\n [Buchungsknoten].Currenthierarchy.DefaultMember)\u003e0 and \n DefaultContext((\n [Measures].[Issues created],\n [Buchungsknoten].CurrentHierarchyMember,\n [Issue.Epic].[Parent].GetMemberbyKey([Issue].CurrentHierarchyMember.key).Parent,\n [Issue type].[Epic]\n )) \u003e=0\n )\n))”,“format_string”:””},{“name”:“Einheiten geschlossen “,“dimension”:“Measures”,“formula”:“Sum(\n Filter(\n Descendants([Issue].CurrentHierarchyMember,[Issue].[Issue]),\n Not IsEmpty([Measures].[Issue Buchungsknoten])\n AND\n ([Measures].[Issues closed],\n [Buchungsknoten].DefaultMember)\u003e0\n AND\n Not IsEmpty([Issue].CurrentHierarchyMember.get(‘Closed at’))\n AND\n DefaultContext((\n [Measures].[Issues created],\n [Buchungsknoten].CurrentMember,\n [Issue.Epic].[Parent].GetMemberbyKey([Issue].CurrentHierarchyMember.key).Parent,\n [Issue type].[Epic]\n )) \u003e=0\n ),([Measures].[Issues closed],[Buchungsknoten].DefaultMember)\n)\n”,“format_string”:””},{“name”:“Einheiten verbleibend “,“dimension”:“Measures”,“formula”:”[Measures].[Einheiten angelegt ] - [Measures].[Einheiten geschlossen ]”,“format_string”:""},{“name”:“Delta Einheiten “,“dimension”:“Measures”,“formula”:”[Measures].[Einheiten_2] -\n[Measures].[Einheiten angelegt ]\n”,“format_string”:""},{“name”:“Restbudget “,“dimension”:“Measures”,“formula”:”[Measures].[Geschätzter Anteil am Gesamtbudget] -\n[Measures].[Verkaufsbetrag_1]t]”,“format_string”:""},{“name”:“Tage verbleibend “,“dimension”:“Measures”,“formula”:”[Measures].[Restbudget ] /980”,“format_string”:"#,##0"}]
}

Hi @zane.baranovska

Is it possible to have the summary of the epic?

You can show any issue property or full name (key + summary) of the epic issue.
To get the value of any epic property you might want to use the function Get() and autocomplete functionality offering available properties.

[Issue].[Issue].GetMemberByKey(
  [Measures].[Issue Epic Link]
).Get(<issue property>)

And use the function GetCaption to retrieve the display name (key + summary) of the issue:

CASE WHEN NOT IsEmpty([Measures].[Issue Epic Link])
THEN
  [Issue].[Issue].GetMemberByKey(
    [Measures].[Issue Epic Link]
  ).GetCaption
END