Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How can I build a ticket dashboard in Confluence with multi-level grouping, per-group totals, and on

David Romero
Contributor
September 14, 2025

Context

We’re a Support team that exports tickets to CSV from Jira/JSM every week and publishes them in Confluence for internal reviews. We want the report to be quick to scan, easy to filter, and downloadable for CS and Product.

Our sample CSV (simplified):

issueKey,summary,assignee,team,priority,status,created,dueDate,originalEstimate,loggedTime,breachedSLA
SUP-1024,"Checkout error",ana,Support L1,High,In Progress,2025-08-20,2025-08-25,8h,6.5h,false
SUP-1031,"Notifications missing",luis,Support L2,Medium,Waiting for Customer,2025-08-21,2025-08-28,6h,1.5h,false
SUP-1040,"Mobile bug",maria,Support L1,High,Done,2025-08-22,2025-08-24,10h,11h,true


What we want to achieve

  1. Group by team, and within each team by priority, showing column-level aggregations in each group header (e.g., sum of loggedTime, % of breachedSLA). What’s the best way to configure nested grouping and per-column aggregation?

  2. Add a footer row with overall totals (ticket count, sum of loggedTime, average originalEstimate, max delay, etc.) that updates with filters. Is this done via Footer aggregation?

  3. Create calculated columns without touching the CSV, e.g.:

    • DelayDays = today() - dueDate
    • OverUnder = loggedTime - originalEstimate
    • SLA Status = IF(breachedSLA, "Breached", "OK")

      What syntax should we use, and how do we reference columns by name?

  4. Improve readability: use a Compact layout for dense data and control table height to avoid long page scrolls. Any presets you recommend for ~800–1,200 rows in a weekly report?

  5. Enable a search bar for instant filtering and show row numbers so we can reference tickets during standups.

  6. Export the result to CSV and Excel with one click. Anything to consider when grouping is turned on?

  7. Hide less relevant columns (created, assignee), rename headers (e.g., “loggedTime” → “Time Logged (h)”), and reorder columns via drag-and-drop so the focus is on team, priority, status, DelayDays, OverUnder.

  8. Define a weekly refresh flow:

    • Option A: Attach the new CSV to the page and import from “attachments.”

    • Option B: Upload the file each time.

      What do you recommend for keeping history and performance in check? I see Simple Tables supports import from attachments/upload/paste and can save the table as a page attachment (auto for large tables). Best practices?

  9. Bonus: sometimes our dataset comes from an API returning JSON with nested fields (e.g., issue.fields.assignee.displayName). How do we extract nested fields as columns?

What we’ve tried

We imported the CSV with Simple Tables and enabled search/export (works great). We still need help fine-tuning grouping + per-column aggregations, and defining the formulas for DelayDays and OverUnder. We’d also love advice on layout (Compact + height) and on the attachments-based refresh flow.

Could you share a recommended step-by-step configuration and a few example formulas/settings?

Thanks in advance @Mia Tamm _Simpleasyty_!

4 answers

1 accepted

6 votes
Answer accepted
Mia Tamm _Simpleasyty_
Atlassian Partner
September 15, 2025

Hey @David Romero! Thanks for the super-clear brief. Here’s a concise, do-this-now setup you can follow in Confluence with Simple Tables:

Import & persist

Use Import from page attachments (keeps file versions) and enable Save table data as attachment for performance on big tables.

Grouping + per-column roll-ups

Turn on Grouping → group by team, then priority. For each metric column, set Column settings → Aggregation (e.g., loggedTime = Sum, status = Mode).
About “% breachedSLA”: built-in aggregations don’t filter/compute percentages. Easiest options are (a) export and compute in Excel, or (b) emit breachedSLA as 0/1 in the CSV so you can Sum/Avg it.

Footer totals

Add Footer aggregation for whole-table Count / Sum / Avg / Max (e.g., ticket count, total loggedTime). Updates as data changes.

Calculated columns

Create OverUnder = loggedTime - originalEstimate. (Ensure those fields are numeric, e.g., 6.5 not 6.5h.) Conditional functions like IF()/today() aren’t documented—if you need DelayDays or SLA Status, add them in your source or compute after export.

Readability for 800–1,200 rows

Set Layout & spacing → Compact and Table height → Large to see more rows without page scroll. Purely visual—doesn’t affect data or exports.

Fast navigation

Toggle Search bar and Row numbers for standups and quick lookups.

Export

Enable Download CSV/Excel for CS/Product pivots and charts. Use exports to compute advanced ratios like “% breached”.

Polish the view

Hide created/assignee, Rename headers (e.g., loggedTimeTime Logged (h)), and Drag & drop columns so key fields are leftmost.

Weekly refresh (best practice)

Keep the same page, attach the new CSV each week, and re-import from attachments—you get history/versioning and stable macro config.

Bonus—JSON with nested fields

If your source is JSON, add columns with dot notation (e.g., issue.fields.assignee.displayName) via Columns → New column.

Minimal config to copy:

Compact + Large height → Group by teampriority with Sum(loggedTime) → Footer: Count, Sum(loggedTime), Avg(originalEstimate) → Search + Row numbers → Hide/rename/reorder → Enable CSV/Excel.

Happy to share a tiny sample CSV + screenshots if helpful.

— Mia Tamm

David Romero
Contributor
September 15, 2025

Thanks @Mia Tamm _Simpleasyty_ great explain. I will be back if some of these steps didn't work. 

3 votes
Alessandro Cristiano - Ricksoft
Atlassian Partner
September 15, 2025

Hi David, thanks for sharing your question in the community!

You don’t need to rely on weekly CSV uploads — with Excel-like Tables for Confluence you can connect directly to Jira so your table always syncs automatically whenever the page is loaded. And since we're talking about spreadsheets, you can customise your reports using your Jira work items as a data source in any way you need.

That gives you a living dashboard instead of a static report.

Here's how the information you requested to show would be displayed:

Screenshot 2025-09-15 at 19.37.14.png

Here’s how ETC covers all the points you raised:

✅ Group by team and priority with per-column roll-ups – Pivot Tables in ETC let you nest by Team → Priority and display totals like time logged or SLA percentages.

✅ Footer totals – add overall ticket counts, sums, averages, and max values that adjust automatically with filters.

Calculated fields inside Confluence – enrich your Jira data without touching the source to calculate DelayDays, OverUnder, and SLA Status.

Readability for large datasets – use Compact layout and table height controls to keep 800–1,200 row reports easy to scan.

Search bar & row numbers – enable these for quick filtering and easy ticket reference in stand-ups.

Export anytime – download CSV or Excel with a click; grouped tables export raw rows ready for further analysis.

Column control – hide less relevant fields, rename headers (e.g. loggedTime → Time Logged (h)) and reorder columns by drag-and-drop.

Weekly refresh flow – if you prefer CSVs, attach the new file each week and ETC keeps versions. But in most cases, syncing Jira directly removes the manual step entirely.

JSON parsing – even nested fields are accessible with formulas, for example:

=TEXTBEFORE(TEXTAFTER([Team], """name"":"""), """")

That extracts the team name from JSON, and

=IF(TEXTBEFORE(TEXTAFTER([Time to resolution], """breached"":"), ",")="true",1,0)

This one converts the SLA “breached” flag into a usable field.

In short: ETC ticks all nine boxes — connecting Jira data live, adding calculated fields, parsing JSON, and surfacing it all in Pivot Tables with flexible grouping, totals, search, and exports.

We’d love for you and your team to give it a try and see how much easier weekly reviews become when your dashboard stays in sync with Jira.

1 vote
Stiltsoft support
Atlassian Partner
September 15, 2025

Hi @David Romero ,

For other users who may come across this thread - if you have our app installed (that is Table Filter, Charts & Spreadsheets for Confluence), you may also implement the described use case:

  • To recreate a table from a .csv file, you may take the Table from CSV macro. And if your Confluence is connected to the required Jira, you may use the Jira Issues macro to get a live Jira table that is supported by our macros
  • To aggregate and calculate data, you may use the Pivot Table and Table Transformer macros. Or you may use the Spreadsheet from Table macro and work with pivots and formulas using Excel style
  • All the results (no matter what macros you use) can be easily exported

If you need a step-by-step guide adjusted for your specific case, please contact our support portal directly. It is confidential, we'll be able to share more details and provide you with the required settings.

0 votes
Danut M _StonikByte_
Atlassian Partner
September 14, 2025

Hi @David Romero,

You could get the list of issues and generate the reports/stats needed for internal reviews directly from Jira, without manually exporting Jira data in CSV and attaching it to the Confluence page. This will save a lot of your time and will simplify the things a lot. 

Confluence offers some useful macros for that allows you to display the issues from a filter in a page (e.g Filter Results macro or Jira Work Items macro). In addition, it offers additional macros with charts and stats that you could add: Two Dimensional Filter Results, Issue Statistics etc.

For the advanced stats, you will need to search for an app on Atlassian Marketplace, that provides the stats you need. For example, our Great Gadgets for Confluence Cloud app, offers a Pivot Table & Pivot Chart macro that allows you to group the data from a Jira filter/JQL and apply sums, count, percentages for those issues.

This is an example of a multidimensional table showing Sum of Time Spent split by team and priority  

image.png

Or maybe a heat-map table like this showing the same thing.

image.png

Or if you prefer a chart...

image.png

Also, with its Advanced Issue Filter Formula macro, you can apply all kind of match formulas based on up-to 6 filters to calculate sums, counts, percentages, ratios. The app offers all kind of macros for tracking the SLA and many other metrics that ate ITSM specific.

See more in this article - the examples are for Jira but they all applies to Confluence as well: https://community.atlassian.com/forums/App-Central-articles/An-effective-dashboard-for-Service-Desk-and-Customer-Support/ba-p/2360369

Danut 

 

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
PREMIUM
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events