Setting up cross project reporting
Introduction
This section assumes you already know how to or have created wiki pages or created cards and set-up project charts and tables for reporting.
Once you start to report on multiple projects, the projects that are charted need to be identified. This sections shows you how to add a project identifier to chart and table macros in order to specify which project to report on.
Update charts and tables with a project identifer
- Edit wiki page or card that will be used for cross project reporting
- Add the project identifier to the chart or table macro using project as a chart
level option.
The project identifier is unique to the project and is usually created from the project name e.g. a project called "Agile One" will automatically be given the identifier agile_one. To find out the project identifier view the project settings.
The markup below shows how project, as a chart level option, can be added to a pie chart macro to give a pie chart for a specific project. Project can be used as a chart level option on all chart and table macros.
{{ pie-chart data: SELECT Feature, COUNT(*) WHERE Type = 'Defect' project: agile_one }}If no project identifier is added the default is the current project e.g. if you are working on a wiki page in project "Agile One" by default all charts and tables created in that project will report data for "Agile One" project unless you specify another project.
- Save wiki page or card
Reporting across projects
As multiple charts and tables can be added to a single wiki page or card, multiple macros can be included on a single wiki page to report on multiple projects.
{{
pie-chart
data: SELECT Feature, COUNT(*) WHERE Type = 'Defect'
project: agile_one
}}
{{
pie-chart
data: SELECT Feature, COUNT(*) WHERE Type = 'Defect'
project: agile_two
}}
The markup above will give two pie charts, one for project Agile One and the other for Agile Two. These pies report the same data but for two different projects.
The markup below shows how distinct data from multiple projects can also be used on the same view. It shows three different macros; an average query, ratio-bar-chart and a data-series-chart each from different projects using different properties. Any combination of macros and project identifiers can be used on a single view so a comprehensive overview of multiple projects can easily be achieved.
{{
average
query: SELECT 'planning estimate' WHERE type = story
project: agile_one
}}
{{
ratio-bar-chart
three-d: true
totals: SELECT 'Functional split - Functional area' , SUM('Initial estimate') WHERE 'Type' = 'Card'
restrict-ratio-with: 'Card status' > 'Complete'
project: agile_two
}}
{{
data-series-chart
conditions: 'Planning - Release' = 'Release 1' AND 'Type' = 'Card'
cumulative: true
x-labels-start: '2008-01-01'
x-labels-end: '2008-06-01'
x-labels-step: 21
chart-width:420
project: agile_three
series:
- label: Scope required by
color: green
type: line
data: SELECT 'Required by', SUM('Initial estimate')
trend: true
trend-line-width: 2
- label: Scope complete by
color: blue
type: line
data: SELECT 'Completed date', SUM('Initial estimate')
trend: true
trend-line-width: 2
}}
Reporting across projects on a single chart
Mingle 2.3 sees the introduction of series level project identifiers on Mingle macros. This means that on data series and stack bar charts different projects can be defined for each series. This therefore, allows for cross project reporting on a single chart.
The markup below shows how data from two projects can also be used on the same data series chart to visualize story completion across projects. Any number of series and therefore, any number of projects can be added to a single data series or stack bar chart so a comparative overview of multiple projects can easily be achieved.
{{
data-series-chart
conditions: 'Planning - Release' = 'Current Release' AND 'Type' = 'Story'
cumulative: true
series:
- label: Progress of Project 1
color: green
type: line
data: SELECT 'Completed date', SUM('Initial estimate')
project: project_1
trend: true
trend-line-width: 2
- label: Progress of Project 2
color: blue
type: line
data: SELECT 'Completed date', SUM('Initial estimate')
project: project_2
trend: true
trend-line-width: 2
}}
If you want to show data from multiple projects against a property that is a relationship (card) property (e.g. "Release" or "Iteration") you may want to ensure the data is aggregated using the card names as the identifiers and not card numbers. This is particularly relevant when creating cross project reports on a single chart as using card number may result in incorrect aggregation as "Iteration 1" may be represented by card number #1 on one project but card number #2 on another. In order to ensure you are matching "Iteration 1" on Project 1 with "Iteration 1" on Project 2 use the parameter x-labels-tree as defined in the macro reference.