Report Builder
Route: /org/tasks/reports · Permission: Open the report builder (view) / Manage saved reports
Module: task_report_builder · Menu: Task Reports (under Task Management)
1. What the Report Builder is
A drag-and-drop report designer over the selected project's task data. You choose the dataset (Tasks, Milestones or Time Logs), drag fields into Rows, Columns, Measures and Filters, press Run, and read the result as a pivot table or a chart. Any number in the result is clickable — it opens the tasks behind it. Reports can be saved for reuse, privately or shared with the project.
| Report Builder | Task Analytics | |
|---|---|---|
| Questions it answers | The ones you compose | A fixed set of charts |
| Period | Any date filter you add | One month at a time |
| Grouping | Your choice of dimensions (up to 3 + a pivot column) | Fixed |
| Saved | Yes — private or project-shared | No |
| Drill-down | Every number → its tasks | Selected charts |
The builder reports on the currently selected project only. With no project selected, the page asks you to pick one.
2. How a report is put together
- Rows are the grouping — Status, Assignee, a date with a day/week/month/quarter grain…
- Columns (optional) pivot one more dimension across the top — Status × Priority.
- Measures are what gets counted or summed: Count of tasks, Sum/Average of estimated, actual or remaining hours, Average progress; on Time Logs, hours logged; on Milestones, task rollups.
- Filters narrow the input — pickers offer the project's own statuses, priorities, types, members, milestones and categories.
These labels come from the project's own task configuration, so the same report run in two projects groups by two different vocabularies. A saved report is saved in a project for exactly this reason.
3. Building and running a report — step by step
Step 1 · Pick the dataset
The segmented control at the top switches between Tasks, Milestones and Time Logs. Switching clears the canvas (the page asks first) because fields belong to a dataset.
Step 2 · Drag fields into the zones
The left palette lists every field, grouped into Dimensions, Measures and Filter-only, with a search box. Drag a field onto a zone — or use the + button on the field for a click-to-add menu. Chips can be dragged between zones and reordered; × removes one.
Clicking a chip opens its inline editor:
| Chip | Editor |
|---|---|
| Date dimension | Grouping grain — Day, Week, Month, Quarter |
| Measure | Aggregation (Count, Distinct count, Sum, Average, Min, Max) + optional custom label |
| Filter | Operator + value — pickers, date pickers, numbers or text depending on the field |
Step 3 · Run
Run executes the report (row limit selectable, capped at 5,000 groups). A half-filled filter is simply not applied yet — it never blocks the run.
Step 4 · Read the result
- Table — the pivot. With two or more row dimensions the table becomes hierarchical: rows group under the first dimension with expand/collapse and a subtotal row per group (Expand all / Collapse all at the bottom). A totals row closes the table.
- Chart — bar (stacked when there is a pivot column or a second row dimension), line, or pie. Pies collapse beyond 11 slices into Other; legends hide beyond 12 series to stay readable.
Step 5 · Drill down
Click any number — a table cell, a group subtotal — and a drawer opens with the underlying tasks: key, title, status, priority, type, assignee, milestone, due date, hours, progress. The key and title link to the task in Task Management, in a new tab. A subtotal drills on the group alone; a cell drills on the full combination.
Step 6 · Save, share, reuse
- Save stores the report privately in this project; the Share with project toggle makes it visible (read-only) to everyone with report access. Only the owner can edit or delete it.
- The Saved reports dropdown lists yours plus shared ones (lock = private, people = shared, with the owner's name). Save as copies a shared report into your own.
- Templates offers ready-made starting points — Tasks by Status × Priority, Workload by Assignee, Overdue by Assignee, Hours Logged per Member, Milestone Health…
- Templates are also linkable:
/org/tasks/reports?template=<key>opens the builder with that template loaded and already run — the Open in Report Builder buttons on the fixed Task and Timesheet analytics pages use exactly this.
Step 7 · Export
- CSV downloads the result rows with readable headers.
- PDF opens the browser's print dialog on a print-clean view of the result.
4. Field reference
Datasets and their fields
| Dataset | Dimensions | Measures | Notable filters |
|---|---|---|---|
| Tasks | Status, Priority, Task Type, Assignee, Created By, Milestone, Category, Parent Task, Billable, Overdue, Due/Start/Created/Completed date (with grain), Task Key | Count of tasks, Sum/Avg/Min/Max of Estimated · Actual · Remaining hours, Avg Progress % | Title contains, Tags (has any of / has tags / has no tags), any dimension |
| Time Logs | Logged By, Logged At (grain), Task, plus the task's Status / Priority / Type / Assignee / Milestone / Category / Billable | Sum/Avg of Hours or Minutes, Count of logs | Description contains, task filters |
| Milestones | Title, Type (Phase/Sprint/Milestone), Status, Start/End/Created date, Overdue, Created By | Count of milestones, Sum/Avg of Task Count · Tasks Completed · Task Estimated Hours | Any dimension |
Where filter values come from
| Field | Values offered |
|---|---|
| Status / Priority / Task Type | The project's task configuration |
| Assignee / Created By / Logged By | The project's members |
| Milestone | The project's milestones |
| Category | The project's task categories |
| Dates | Date pickers (single, or two for between) |
5. The admin contract
| Prerequisite | Without it |
|---|---|
| Open the report builder permission | No access to the page |
| Task Reports menu permission | No sidebar entry |
| Manage saved reports permission | Run and export only — no Save / Share / Delete |
| A selected project | The page asks you to pick one |
| Statuses/priorities/types configured | Dimension labels fall back to (none) |
| Estimated/actual hours captured | Hour measures read zero |
| Time logs recorded | The Time Logs dataset is empty |
6. Downstream
Read-only over task data. The only thing a report writes is its own saved definition. CSV and PDF
exports leave the app; shared reports are also readable (and runnable) through the Orbit public
API (developers.<your-domain> — Orbit Ops → Reports) with a key carrying the report read
scope. Private reports are never exposed there.
7. Don't confuse this with…
| Screen | Route | Shows |
|---|---|---|
| Report Builder (this page) | /org/tasks/reports | Reports you compose, saved and shared |
| Task Analytics | /org/analytics/tasks | A fixed monthly dashboard |
| Timesheet Analytics | /org/analytics/timesheets | Submitted timesheets, approval-centric |
| Table view on the board | Tasks table | Individual tasks, editable |
| Timelines | Timelines | Schedule health |
8. Troubleshooting
| Symptom | Cause |
|---|---|
| Run is disabled | A report needs at least one row/column dimension and one measure |
| A dimension shows (none) | Tasks without that value (no milestone, no category, unassigned) group under (none) |
| (truncated at limit — refine filters) | More groups than the row limit — add filters or raise the limit (max 5,000) |
| A filter seems ignored | It has no value yet — half-filled filters are skipped, not applied |
| A saved report is read-only | It is shared by someone else — Save as makes your own copy |
| Chart legend is missing | More than 12 series — hover the chart instead |
| Pie shows Other (n) | Slices beyond the top 11 are grouped |
| Numbers differ between projects | Each project has its own statuses, types and categories |
Related
- Task Analytics — the fixed dashboard
- Statuses — the categories your groupings depend on
- Tasks — where drill-down links land