Skip to main content

Creating a Report

Start a New Report

  1. Go to Reports → Report Builder
  2. Click New report
  3. Choose the Data source at the top of the screen
caution

The data source can only be chosen while the report is new. Once a report is saved, its data source is fixed — every field, filter, and sort in the report refers to that source. To report on a different source, create a new report.

Changing the data source before saving clears the dimensions, metrics, and filters you have added, because those fields don't exist on the new source.

The Editor Layout

AreaContents
HeaderReport name, description, data source, folder, sharing, Save
Left sidebarDimensions, Metrics, Filters, Chart — the whole report definition
Main areaLive preview of the results

The name and description are edited in place — click the title text and type. A report needs a name before it can be saved.

Add Dimensions

Dimensions are the fields your report breaks the data down by — the "by what" of the question you are asking. In "sold revenue by salesperson, by month", the salesperson and the month are the dimensions.

A dimension is always a field, never a number you calculate. It answers "which one?", not "how many?": Stage, Salesperson, Division, City, Project Type, Created Date. If you can imagine it as a column heading you'd group a spreadsheet by, it is a dimension.

The same dimensions do two different jobs depending on whether the report measures anything:

Report hasWhat the dimensions do
Dimensions onlyThey are the columns of the table. One row per record.
Dimensions and metricsThey are the grouping. One row per combination of their values.

That means you don't choose a "detail report" or a "summary report" anywhere — adding a metric flips the same dimensions from columns into groups, and removing every metric flips them back.

Adding one

  1. In the sidebar, click Add dimension
  2. Search or browse the field list — fields are grouped by the record they belong to
  3. Click a field to add it

What to know

  • Order matters. Drag a dimension by its handle to reorder. The order sets the column order in a list report, the grouping order in a summary report, which dimensions can be lifted into section headers, and which dimension is the chart's axis.
  • Adding a dimension makes a summary report finer. Grouping by Stage gives you one row per stage; adding Salesperson gives you one row per stage and salesperson, so the rows multiply and each one covers fewer records.
  • A field can only be added once per relationship. The same field reached through a different related record — "Project House → City" and "Contact's House → City" — counts as two different fields, and both can be used at once.
  • Custom fields are marked Custom in the picker.
  • Date dimensions gain a bucket selector (Day / Week / Month / Quarter / Year) once the report has a metric — see Date Grouping.
  • Remove a dimension with the on its row.
Worked example

Dimensions Stage and Salesperson, no metrics → a list of every project, showing each project's stage and salesperson.

The same two dimensions with a Count metric → one row per stage-and-salesperson pair, with how many projects each pair holds.

Add Metrics

Metrics are the numbers your report measures — the "how much" of the question. In "sold revenue by salesperson", the sold revenue is the metric.

A metric is a calculation across a whole group of records, not a value read off one of them. That is the difference that matters: a project's Sold Amount shown in a list is a field; the total of every project's Sold Amount within a stage is a metric.

Adding a metric changes the shape of the report. With no metrics, each row is one record. As soon as a metric exists, the report groups by its dimensions and each row is a group — so the individual records disappear from the table and their measured values take their place. The records are still reachable: click any summarized row to drill into the records behind it.

Adding one

  1. Click Add metric — a Count metric is added
  2. Change the function with the dropdown on the metric row
  3. For functions that need a field, click of field… and pick one

The functions

FunctionAnswersReads asField types accepted
CountHow many records are in this group?"Count of projects"none — it counts the records
Distinct countHow many records, counted once each?"Distinct count of projects"none — it counts the records
SumWhat do these add up to?"Sum of Sold Amount"Number, Money
AverageWhat is the typical value?"Average of Sold Amount"Number, Money
MinWhat is the lowest / earliest?"Min of Start Date"Number, Money, Date
MaxWhat is the highest / latest?"Max of Start Date"Number, Money, Date

Count and Distinct count take no field — they measure the records themselves, which is why the sidebar reads "of projects" rather than offering a field picker. Every other function needs a field to work on, and the picker only offers field types that function accepts, so a Sum never lists a text field.

A report can carry several metrics at once — Count and Sum of Sold Amount and Average of Sold Amount — each becoming its own right-aligned column.

Worked example
QuestionDimensionsMetrics
How many projects is each salesperson working?SalespersonCount
What did we sell each month?Sold Date (Month)Sum of Sold Amount
What is our average job size by division?DivisionAverage of Sold Amount

Add Calculated Fields

A calculated field is a number the report works out, rather than one stored on the record. There are three kinds:

CalculateWhat it measuresExample
Time between two datesA cycle time — the gap from one date to anotherDays from sold to job start
Age — a date until todayAn open-ended cycle time, measured against todayDays a permit has been open
Calculation between two numbersOne number against anotherSold Amount minus Cost

Nothing on a project stores "days from sold to job start" — but the sold date and the job start date are both there, so the report can work it out. Define it once and it behaves like any other number: show it as a column, group by it, or average it.

Adding one

  1. In the sidebar, click Add calculated field
  2. Choose what to Calculate
  3. Pick the fields it works from — dates for the first two kinds, numbers for the third
  4. Choose the unit (Days / Hours / Weeks / Months) or the operator
  5. Leave Only include records this can be worked out for ticked (see below)
  6. Give it a name, or accept the suggested one

It is added to your Dimensions straight away, so you see it as a column. It also appears under Calculated in the field picker, so the same definition can be reused as a metric without describing it twice.

Editing one

Click a calculated field's name in the sidebar to change it — the kind, the fields it works from, the unit or operator, or the name. Save and everywhere it is already used updates: the column, any grouping, and any metric built on it. Renaming it renames its column heading too.

Time between two dates

From is the earlier date, To is the later one. Backwards gives you negative numbers.

A record whose dates genuinely run backwards — completed before it started — also reports a negative number. That is deliberate: it is a data problem worth seeing, not one to hide.

That also makes variance easy: from the contract finish date to the actual finish date gives days late, with early jobs showing as negative.

Age

An age measures one date against today, so it changes every time the report runs — "days in current stage", "days since sold", "how long this permit has been open". Reports that ask "how long has this been sitting?" want an age; reports that ask "how long did it take?" want a time between two dates.

Calculation between two numbers

Pick a number field, an operator, and a second number field.

OperatorResult
minus / plusThe difference or total. Two money fields give money — a margin is currency.
times / divided byA plain number.
as a % ofThe first as a percentage of the second.

Dividing by zero has no answer, so that record produces a blank rather than an error.

note

Job cost fields obey the same View Project Costs permission they do everywhere else. A calculated field built on one simply doesn't appear for a viewer without that permission, and the rest of the report still runs.

Records it can't be worked out for

A calculation needs its inputs. When a date is missing, or a divisor is zero, there is no answer — so by default those records are left out of the report entirely, not listed with an empty cell and counted in a total they contributed nothing to.

SettingEffect
Only include records this can be worked out for (default)Records with no value are dropped from the report. The record count matches the number of records the average is based on.
UntickedEvery record stays. Those with no value show a blank cell and are still counted.

Untick it when the calculated field is one column among many and you don't want it quietly shrinking the report.

caution

This setting narrows the whole report, not just that one column — the row count, the page of records, the group totals, and the section headers all describe the same set of records.

Using it as a metric

  1. Click Add metric
  2. Set the function to Average (or Min / Max)
  3. Click of field… and pick your calculated field from the Calculated group
Worked example

Average time from sold to job start, by salesperson

StepWhat to set
Data sourceProjects
Calculated fieldTime between two dates: From Actual Close Date, To Job Start Date, Days
DimensionsSalesperson (remove the calculated field from Dimensions)
MetricsAverage of the calculated field, plus Count
FiltersStage is Won

Each row is a salesperson, with how many jobs they sold and how long those jobs took to start.

What to know

  • The fields can be custom fields — a company that tracks its own milestone dates or its own numbers can report on them.
  • Either field can come from a related record, chosen the same way as any other field.
  • A calculated field is built from stored fields only; one cannot be built out of another.
  • The result is a number, so it takes no date bucket. Grouping by it groups by the number itself — "how many jobs took 30 days".
  • Removing a calculated field also removes any dimension or metric built on it.
  • A report can hold up to 10 calculated fields.
  • If a field it was built on is later removed or is no longer a date, the calculated field is dropped from the run with a warning and the rest of the report still works.

Filter the Records

Click Add filter in the sidebar to narrow which records the report includes. See Filters for operators, relative date periods, and AND/OR logic.

Read the Preview

The preview runs continuously as you build. A thin progress bar above the results means a new run is in flight; the previous results stay on screen until it returns.

  • List reports show 25 rows per page with paging beneath the table.
  • Summary reports show one row per group, with measures right-aligned.
  • Yellow warnings above the table explain anything the report had to drop or truncate — see Limits and Troubleshooting.
  • No rows match — try loosening the filters means the report ran fine and matched nothing.

Sorting

Click a column header to sort by it; click again to reverse it. One column sorts at a time.

In the editor, the sort you set is part of the report and is saved with it. In the viewer, sorting is temporary and never changes the saved report.

Opening a record

In a list report, clicking a row opens that record in a new browser tab. This works for Projects, Contacts, Purchase Orders, and Quotes. Contract, Permit, and Activity rows are not clickable — those records have no single-record page to open.

Save the Report

  1. Give the report a name (and optionally a description)
  2. Pick a Folder, or leave it Uncategorized
  3. Set who it is shared with — see Sharing and Folders
  4. Click Save

The Save button is disabled when there is nothing new to save and reads Saved.

note

If you try to leave the editor with unsaved changes — the back arrow, a browser reload, or closing the tab — you are asked to confirm first.

Change an Existing Report

From the report list, either:

  • Click the report to open the viewer, then click Edit, or
  • Click the menu on the report row and choose Edit

Only the report's creator (or a user with Manage Reports) can save changes to a report. If a shared report is close to what you need but isn't yours, use Duplicate — you get a private copy you own.