Display date/time statistics and charts on your dashboard

In this article, you will explore the usage of date and datetime fields in rich filter statistics and chart gadgets. After you finish the basics, you will learn about the rich filter Time Series feature. Time series are based on date/datetime fields, allowing you to compare trends and hint at correlations efficiently. Once defined, time series can be reused across different gadgets — including statistics and chart gadgets and the Rich Filter Time Series Chart gadget. Finally, you'll look at the Rich Filter Created vs Resolved Chart gadget.

Contents:

Prerequisites

Final result

Once you've worked through the steps in this tutorial, you should have a dashboard that contains examples of all the rich filter gadget types that can display statistics and charts based on date and DateTime fields:

  • Rich Filter Statistics gadget

  • Rich Filter Two-Dimensional Statistics gadget

  • Rich Filter Flexi Charts gadget

  • Rich Filter Time Series Chart gadget

  • Rich Filter Created vs. Resolved Chart gadget

A dashboard showing a Rich Filter controller, three statistics gadgets, two flexi charts, a time series chart, and a created vs resolved chart, all showing datetime statistics.

Rich filter and dashboard basic setup

In this section, you'll set up a basic rich filter and dashboard.

  1. If you've already worked through other tutorials in our Learning Center, you can base any gadgets you create while following this article on a previously created rich filter. Check that you have one available (find existing rich filters linked at Apps > Rich Filters). If not, follow the instructions in Get started with Rich Filters for Jira Dashboards to create a new rich filter before continuing.

  2. Create a new dashboard (Dashboards > Create dashboard).

  3. Make sure it uses the Left sidebar layout. You can set this using the Change layout menu at the top of the dashboard.


    Dashboard edit screen showing a new dashboard set to the Left sidebar layout, with the Left sidebar layout option highlighted
  4. Based on your rich filter, add a Rich Filter Controller gadget to your dashboard (See also: Create a simple dashboard).

  5. After saving your gadget's configuration, make sure the controller is in the left-hand column; drag and drop it if necessary.

If you want a more detailed explanation of creating a new dashboard, see Create a simple dashboard.

Recap: Use "option-based fields" in gadgets

When you configure a Rich Filter Statistics or Flexi Charts gadget to display statistics based on an "option-based field" (meaning a field with a specific finite number of options, such as Assignee, Status, or Labels) or a smart filter, the config options specific to those field types are pretty straightforward, including Sort By (e.g., Alphabetical) and Maximum rows/columns to display. You can find many examples of statistics and chart gadgets using "option-based fields" in Display statistics and quick charts on your dashboard and Display custom charts and quick tables on your dashboard.

Use dates in statistics and charts

Statistics and charts based on date and datetime fields (e.g., Created, Resolved, or custom date and datetime fields) work differently from those using "option-based" fields.

In all gadgets displaying statistics and charts based on dates, rich filters provide a powerful, flexible, and intuitive configuration mechanism that allows you to easily pick the aggregation periods (days, weeks, months, etc.), the time range to be displayed as a fixed or relative time window, and rules for displaying and aggregating data over time.

Let's walk through a demo to show you how this works.

  1. Add a Rich Filter Statistics gadget to your dashboard (See also: Create a simple dashboard), and position it underneath your controller.

  2. Set your new gadget's Rich filter field to the same Rich filter that your controller is based on.

  3. In the Statistic type dropdown, choose Created. Since this is a date field, you have the following options to configure it.

  4. Let's explore each option in turn:

    1. Aggregation periods: This allows you to choose whether you want to show value totals per day, week, month, quarter, or year. There is also a special value, Auto, which leaves it up to the rich filters app to choose the most suitable Aggregation periods and Time range values to show a granular-but-complete statistic set for your data.

    2. Time range: This allows you to set the time range over which you want to show your aggregation periods. The options are as follows:

      1. Number of <aggregation-period>: Choose a set number of aggregation periods to display, for example the option will be Number of days if your chosen Aggregation period is Days. When this option is selected, two additional fields appear, which also need to be configured:

        • Number: The number of aggregation periods you want to display. You can choose to display up to 100 periods at once.

        • Direction: Whether you want to show aggregation periods in the past (from the present date backward), future (from the present date forward), or past and future (backward and forward, with the present date in the middle).

      2. Between dates: Choose a specific start and end date for the time range you wish to display. When this option is selected, two additional fields appear, which also need to be configured:

        • From: The start date.

        • To: The end date.

      3. All dates: Dynamically display aggregation periods of the chosen type that span a time range covering all the existing values in the date/datetime field used as the breakdown (i.e. the Statistic type; Created in this example). This is particularly powerful when combined with a dynamic filter based on the same date field in the controller; it allows you to dynamically change the displayed time range.

      4. This <aggregation-period> and Last <aggregation-period>: For convenience, you can also display data over contextual predefined time ranges. For example, when Months is chosen as the Aggregation period, the options provided in the Time range dropdown are This quarter, This year, Last quarter, and Last year.

    3. Reverse sort order: This checkbox controls whether you want to display the data going forwards with the oldest date at the start (unchecked, the default), or going backwards with the newest date at the start (checked).

    4. Show percentage bars: This checkbox controls whether percentage bars are shown in the resulting statistics gadget alongside the values for each aggregation period.

    5. Show totals: This checkbox controls whether a Total row is shown at the bottom of the statistics table.

  5. For now, choose an Aggregation periods value of Weeks and a Time range of Number of weeks. Choose a Number of 6 and a Direction of Past. This will cause the statistics gadget to display the last 6 weeks of data.

  6. Check the Reverse sort order checkbox. This will display the data in reverse chronological order, with the most recent week in the top row.

  7. In the Values section, choose Issue Count and Story Points from the Pick a value ... dropdown.
    The configuration of your gadget should look like this:

  8. Click Submit. Your gadget should look like this:

This looks good so far. You've generated a table of created issue count and story point values for each of the last six weeks.

Use dates in two-dimensional statistics

Date and DateTime fields can be used in Rich Filter Two-Dimensional Statistics gadgets in much the same way as above to provide a useful breakdown of your data across a specified time range. Let's look at an example.

  1. Add a Rich Filter Two-Dimensional Statistics gadget to your dashboard and place it at the top of the right-hand column.

  2. Base it on the same rich filter as your other gadgets.

  3. For the Horizontal breakdown, select a Statistic type of Assignee.

  4. For the Vertical breakdown, choose Resolved (the resolution time of the issues) as the Statistic type.

  5. For Resolved's Aggregation periods value, choose Months.

    1. Choose a Time range of Between dates, and select the last three months using yours From and To inputs.

  6. Again, check the Reverse sort order checkbox.

  7. For Value, choose Story Points.

  8. Click Submit. Your gadget should look like this:

This is a useful follow-up to the previous example. You can review the resolved story points for each team member during a specific time period—Q1 2023 in our example screenshot. The Between dates time range is useful for selecting a specific fixed time period to show data for.

Use dates in flexi charts

You can use date/datetime fields in Rich Filter Flexi Charts gadgets in much the same way as in statistics gadgets to provide informative visual summaries of trends over time. Let's take a look.

  1. Add a Rich Filter Flexi Charts gadget to your dashboard and place it in the left-hand column at the bottom.

  2. Base it on the same rich filter as your other gadgets.

  3. For the Chart type, select Stacked bar.

  4. Select Due date for Primary breakdown > Statistic type.

  5. The date-related settings are mostly the same as for the statistics gadget types. Select the following:

    1. Aggregation periods: Months

    2. Time range: All dates.

  6. There is one setting particular to chart gadget types, hence you've not seen it before: Aggregation type. Let's explain the possible values:

    • Period value: The default — for each aggregation period shows the individual value.

    • Cumulative trend: For each aggregation period, show the total value from the start of the time range displayed in your gadget up until the end of the period.

    • Cumulative total: For each aggregation period, show the total value from the start of your data up until the end of the period.

  7. Choose Cumulative total for the Aggregation type.

  8. Select Status Category for Secondary breakdown > Statistic type.

  9. Select Issue Count for the Value.

  10. Click Submit. Your gadget should look like this:

The chart displays issues based on their Due date; for each aggregation period, you can see the number of issues in each status category — To Do, In Progress, and Done. The above screenshot was taken in April 2023 — you can see how many of the issues due in April were done, in progress, or still in the backlog. If you look at the previous aggregation period — March 2023 — you'll see issues still not due in March; hence, they are overdue. The target is always to complete all the due issues so that nothing remains overdue by the end of each month.

The gadget uses the Cumulative total setting, hence the total displayed for April contains the issues due in all previous periods. Similarly, in May, you'll see all the issues due until the end of May, including those from previous months. 

You can use any static, dynamic, or smart filters present in your controller to filter other gadgets based on the same rich filter as the controller. For example, you could filter by team or assignee to pinpoint the source of the overdue issues.

Create time series

Rich filters provide the Time Series feature, which allows you to predefine custom time series that can then be used in multiple relevant gadgets as desired, and also provides some useful customization options such as custom color and per-time series JQL filter.

Time series can be used in Rich Filter Statistics, Rich Filter Two Dimensional Statistics, Rich Filter Flexi Charts, and Rich Filter Time Series Chart gadgets.

You'll start by creating "Due features", "Resolved features", and "Created bugs" time series — these will provide interesting tracking data for different types of work you are interested in and their evolution over time. Later, you'll use them to create a chart to study potential correlations between them.

  1. Open your rich filter config (described in Easier configuration with the Rich filter menu).

  2. Select the Time Series tab and click the Create Time Series button.

  3. In the resulting dialog box, you'll see a series of settings:

    1. Name: An identifying name for your time series. Enter "Due features".

    2. Color: A custom color. Choose one that suits you. We chose a light blue color.

    3. Series: A date/datetime field on which the time series will be based. Choose the Due date.

    4. Base value: The value that will be counted for this time series in each aggregation period. Choose Issue Count.

    5. JQL: A specific JQL query that filters the data for this time series. Enter "type = "New Feature"".

  4. Click the Create button.

  5. Create two more time series:

    1. "Resolved features"

      1. Color: Choose a green color.

      2. Series: Choose Resolved.

      3. Base value: Choose Issue Count.

      4. JQL: Enter "type = "New Feature"".

    2. "Created bugs"

      1. Color: Choose red.

      2. Series: Choose Created.

      3. Base value: Choose Issue Count.

      4. JQL: Enter "type = Bug".

  6. Your Time Series tab should now look like this. Check it before you move on.

 

Display time series in a Rich Filter Time Series Chart gadget

To display our time series, as a first example, you will use a new type of gadget — the Rich Filter Time Series Chart gadget. This gadget allows you to compare time series based on multiple date/datetime fields, each time series potentially with its own JQL query applied; the results are displayed as (multi-)line graphs.

Let's create a chart comparing the cumulative trend of Due features, Resolved features, and Created bugs over 12 weeks.

  1. Go back to your dashboard.

  2. Add a Rich Filter Time Series Chart gadget to the bottom of the left-hand column of your dashboard.

  3. Base it on the same rich filter as your other gadgets.

  4. Choose Aggregation periods of Weeks, Time range of Number of weeks, and Number 12.

  5. Select Cumulative trend from the Aggregation type dropdown.

  6. Choose your Due features, Resolved features, and Created bugs time series from the Pick a time series... dropdown.

  7. Click Submit. Your time series chart should look like this:

That was quick and easy, and you ended up with a chart that allows you to study the correlation between the different time series. For example, you can look for points where the number of resolved features became less than the number of due features and think about potential causes. One possible cause is that more work was done on fixing bugs in those periods, taking time away from developing new features. Maybe the created bugs time series can provide some answers?

As with other rich filter chart gadgets, you can hover over data points to get tooltips providing more details.

Rich Filter Time Series Chart gadgets also have a Show table button:

Clicking this generates a quick table showing the chart data in detail, displayed at the bottom of the same gadget:

Use time series in statistics gadgets

Using time series is not limited to Rich Filter Time Series Chart gadgets; you can also use them in other gadget types. In this section, you'll create a Rich Filter Statistics gadget showing a number of time series indicating the count of created and unresolved issues each month over four months, along with the story point value of the unresolved issues, the average resolution time, and the average resolution time of bugs specifically.

To begin this section, you will create a custom value that will later be used as a base value for two of the time series you will create.

  1. Open your rich filter config (described in Easier configuration with the Rich filter menu).

  2. Select the Custom values tab, and click the Create custom value button.

  3. In the resulting dialog box, enter the following values:

    1. Name: Enter "Resolution time".

    2. Color: Choose a green color.

    3. Base value: Choose Issue age / resolution time.

    4. Total formula: Choose Average value.

    5. Duration display format: choose Days.

    6. JQL: Enter "resolution is not EMPTY".

  4. Click Submit. Your Custom values tab should now look like this:

    Next, you'll create more time series for your statistics. Note how the Res time (avg) and Bug res time (avg) time series are based on the Resolution time custom value created above.

  5. Go to your rich filter config Time series tab.

  6. Create the following five-time series:

    1. "Created"

      1. Color: Orange.

      2. Series: Created.

      3. Base value: Issue Count.

      4. JQL: Leave blank.

    2. "Unresolved"

      1. Color: Red.

      2. Series: Unresolved (created minus resolved issues).

      3. Base value: Issue Count.

      4. JQL: Leave blank

    3. "Unresolved SP"

      1. Color: Red.

      2. Series: Unresolved (created minus resolved issues).

      3. Base value: Story Points.

      4. JQL: Leave blank

    4. "Res time (avg)"

      1. Color: Green.

      2. Series: Resolved.

      3. Base value: Choose your Resolution time custom value.

      4. JQL: Leave blank

    5. "Bug res time (avg)"

      1. Color: Blue.

      2. Series: Resolved.

      3. Base value: Choose your Resolution time custom value.

      4. JQL: Enter "type = Bug".

  7. Your Time Series tab should now look like this.

Now, you'll use your new time series in a statistics gadget.

  1. Go back to your dashboard.

  2. Add a Rich Filter Statistics gadget to your dashboard and position it at the bottom of the right-hand column.

  3. Set your new gadget's Rich filter field to the same Rich filter that your controller is based on.

  4. In the Statistic type dropdown, choose the new Time series option, which appears when you have time series available to use.

  5. You need to select the Aggregation periods over which you will show your time series. Enter the following:

    1. Aggregation periods: Months.

    2. Time range: Number of months.

    3. Number: 4.

  6. Check the Reverse sort order checkbox.

  7. Instead of the Pick a value... dropdown at the bottom of the form, you'll now see a Pick a time series... dropdown. Select Created, Unresolved, Unresolved SP, Res time (avg), and Bug res time (avg).

  8. Click Submit. Your gadget should now look like this:

The custom time series names are used as column headings, and your chosen colors are used in the percentage bars.

Use time series in flexi charts

You can also use time series in Rich Filter Flexi Charts gadgets. In this example, you will use a clustered bar graph to split the Unresolved SP time series, showing the number of unresolved story points for multiple teams separately over time.

  1. First, create a Teams smart filter as shown in Create a Teams smart filter.

  2. Add a Rich Filter Flexi Charts gadget to your dashboard and position it at the bottom of the right-hand column.

  3. Set your new gadget's Rich filter field to the same Rich filter that your controller is based on.

  4. Choose the Clustered bar in the Chart type dropdown.

  5. Select the Unresolved SP time series in the Primary breakdown > Statistic type dropdown.

  1. Select the following values for the Aggregation periods fields:

  2. Aggregation periods: Weeks.

  3. Time range: Last quarter. Choosing this predefined value is a useful way of ensuring you will always see the last quarter of data, even as time progresses.

  4. Choose Cumulative total for the Aggregation type.

  5. Select the Teams smart filter in the Secondary breakdown > Statistic type dropdown.

  6. Click Submit. Your gadget should now look like this:


This shows the power of flexi charts in this context — you can create a single time series and then easily split it by another dimension, enabling it to do the job of many different time series.

Rich Filter Created vs. Resolved Chart gadgets

To finish, you will look at another gadget type — the Rich Filter Created vs Resolved Chart gadget. This gadget displays a very specific type of time series chart to fulfill another common use case in reporting — showing created issues versus resolved issues over time. For this gadget, the time series are already built in.

Let's explore this to see how it works.

  1. Add a Rich Filter Created vs Resolved Chart gadget to your dashboard and place it at the bottom of the right-hand column.

  2. Base it on the same rich filter as your other gadgets.

  3. Choose Aggregation periods of Weeks, a Time range of Number of weeks, and Number 12.

  4. Choose Cumulative total for the Aggregation type.

  5. Choose Issue Count for the Value.

  6. Check the Unresolved trend checkbox. This displays an additional line graph underneath the main graph, showing the difference between created and resolved for each aggregation period.

  7. Click Submit. Your created vs resolved chart should look like this:


The Rich Filter Created vs Resolved Chart has other useful features. Most notably, the sections of the graph where Created > Resolved are colored red, and the sections where Resolved > Created are colored green, making it easy to analyze the trends.