100% found this document useful (1 vote)
163 views34 pages

Advanced Training: Raimonds Simanovskis & Zane Baranovska

- The document outlines an agenda for an advanced training on the eazyBI tool covering additional custom fields, importing additional data sources, and calculated member formulas using MDX. - A demonstration will show various ways to define advanced settings for custom fields, import additional data from sources like SQL, and create calculated measures and dimensions using MDX functions. - Examples of calculated members provided include issues created vs resolved, bugs created as a percentage, and cumulative measures over time using previous periods and linear regression.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
163 views34 pages

Advanced Training: Raimonds Simanovskis & Zane Baranovska

- The document outlines an agenda for an advanced training on the eazyBI tool covering additional custom fields, importing additional data sources, and calculated member formulas using MDX. - A demonstration will show various ways to define advanced settings for custom fields, import additional data from sources like SQL, and create calculated measures and dimensions using MDX functions. - Examples of calculated members provided include issues created vs resolved, bugs created as a percentage, and cumulative measures over time using previous periods and linear regression.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Advanced Training

Raimonds Simanovskis & Zane Baranovska


Berlin,
16.02.2018
Raimonds Simanovskis

“Probably the first eazyBI user”


Zane Baranovska

”Start simple and then dig deeper.”


Agenda (13:00 - 16:00)

• Advanced settings for additional custom field


types
• Import from other data sources
• Calculated member formulas (MDX)
Demonstration
Additional custom fields
Custom
Advanced settings
fields
for custom fields
https://docs.eazybi.com/display/EAZYBIJIRA/
Advanced+settings+for+custom+fields
Settings

Jira Misc

JavaScript
Custom
Jira Misc calculated
fields
custom fields
https://docs.eazybi.com/display/EAZYBIJIRA/
Settings JIRA+Misc+Custom+Fields

Jira Misc

JavaScript
Custom
JavaScript calculated
fields
custom fields
https://docs.eazybi.com/display/EAZYBIJIRA/
Settings JavaScript+calculated+custom+fields

Jira Misc

JavaScript
Demonstration
Import from other data sources
Additional
Source data for additional data
data import
import into Jira cube
https://docs.eazybi.com/display/EAZYBIJIRA/
Source data Additional+data+import+into+Jira+Issues+cube

Mapping
SQL
Properties

Measures
Additional
Mapping to existing
data import
Dimensions

Source data

Mapping

Properties

Measures
Additional
Import data as Properties
data import

Source data

Mapping

Properties

Measures
Additional
Import data as Measures
data import

Source data

Mapping

Properties

Measures
Demonstration
• Calcuated members with MDX
Calculated
MDX language
members

Introduction to calculated members


MDX https://docs.eazybi.com/display/EAZYBI/
Calculated+members
In Measures
MDX function references
https://docs.eazybi.com/display/EAZYBI/
In Dimensions
MDX+Function+Reference

eazyBI Demo account


https://eazybi.com/accounts/1000/cubes
Calculated
Issues change
members

MDX [Measures].[Issues created]


-
In Measures [Measures].[Issues resolved]

In Dimensions
Calculated
Issues created from total %
members

MDX [Measures].[Issues created]


/
In Measures ( [Measures].[Issues created],
[Time].CurrentHierarchy.DefaultMember )

In Dimensions
Calculated
Issues created from parent %
members

MDX CASE WHEN [Time].CurrentHierarchyMember IS


[Time].CurrentHierarchy.DefaultMember
In Measures THEN 1
ELSE
[Measures].[Issues created] /
In Dimensions ( [Measures].[Issues created],
[Time].CurrentHierarchyMember.Parent )
END
Calculated
Bugs created
members

MDX ( [Measures].[Issues created],


[Issue Type].[Bug] )
In Measures

In Dimensions
Calculated
Bugs created %
members

MDX [Measures].[Bugs created]


/
In Measures [Measures].[Issues created]

In Dimensions
Calculated
Issues created in previous
members
period

MDX ( [Measures].[Issues created],


[Time].CurrentHierarchyMember.PrevMember )
In Measures

In Dimensions
Calculated
Issues created change %
members

MDX CASE WHEN


[Measures].[Issues created in previous period] > 0
In Measures THEN
( [Measures].[Issues created] -
[Measures].[Issues created in previous period] )
In Dimensions /
[Measures].[Issues created in previous period]
END
Calculated
Cumulative issues created
members

MDX Sum(
{
In Measures PreviousPeriods([Time].CurrentHierarchyMember),
[Time].CurrentHierarchyMember
},
In Dimensions [Measures].[Issues created]
)
Calculated
Cumulative issues resolved
members

MDX CASE WHEN


[Measures].[Issues resolved] > 0
In Measures THEN
Sum(
{ PreviousPeriods([Time].CurrentHierarchyMember),
In Dimensions [Time].CurrentHierarchyMember },
[Measures].[Issues resolved]
)
END
Calculated
Cumulative issues resolved
members
trend
LinRegPoint(
-- output x
MDX DateToTimestamp([Time].CurrentHierarchyMember.StartDate),
-- input period
Filter(
In Measures
[Time].CurrentHierarchyMember.Level.Members,
DateBetween([Time].CurrentHierarchyMember.StartDate,
In Dimensions '3 months ago','today')
),
-- input y
[Measures].[Cumulative issues resolved],
-- input x
DateToTimestamp([Time].CurrentHierarchyMember.StartDate)
)
Calculated
Average issues created in last 3
members
months

MDX Avg(
LastPeriods(3, [Time].CurrentHierarchyMember),
In Measures [Measures].[Issues created]
)

In Dimensions
Calculated
Hours cost
members

MDX Sum(
Descendants(
[Logged by].CurrentMember, [Logged by].[User]),
In Measures
[Measures].[Hours spent] *
[Logged by].CurrentMember.get('Rate')
In Dimensions )
Calculated
Status Open or In Progress
members

MDX Aggregate({
[Transition Status].[Open],
In Measures [Transition Status].[In Progress]
})

In Dimensions
Calculated
Reverted transition statuses
members

MDX Aggregate(
Filter(
In Measures [Transition Status].[Transition Status].Members,
[Transition Status].CurrentMember.Name
MATCHES 'Re.*'
In Dimensions )
)
Calculated
Not Reverted transition statuses
members

MDX Aggregate(
Filter(
In Measures [Transition Status].[Transition Status].Members,
NOT [Transition Status].CurrentMember.Name
MATCHES 'Re.*'
In Dimensions )
)
Calculated
All transition statuses except
members
Canceled

MDX Aggregate({
Except(
In Measures [Transition Status].[Transition Status].Members,
-- set of exceptions
{ [Transition Status].[Canceled] }
In Dimensions )
})
Thank you!

Questions?
community.eazybi.com

[email protected]

You might also like