Skip to main content

Report charts

The chart builder turns the rows of a saved report into a chart in a few clicks. You pick what to count or measure, and what to split it by. This guide shows how, with ready-made recipes for the charts that gym owners ask for most.

Written by Kevin Wagner

How a chart works

Every chart answers one sentence: "Show me a number per group". The number is the series. The group is the category.

The chart builder groups the rows of the report by the category. Then it calculates the series once for each group, and draws one bar per group.

If you are not sure where a column goes, ask yourself the question. "Revenue per product": Revenue is the series, Product name is the category. "Attendance per week day": Attended members is the series, Week day is the category.

Build your first chart

This example answers the question "How many members do we lose each month?". It takes about one minute.

  1. Open Reports and open a saved report with the Memberships data source. The Chart button shows only on a saved report.

  2. In the table toolbar, click Chart. The chart panel opens at the right.

  3. Open the Fields tab.

  4. Find Cancellation month in the list. Drag it to Categories, or click its + button and choose Categories in the menu.

  5. Drag Lost members to Series.

  6. Scroll down to the chart below the table. It shows one column per month, oldest month first.

  7. Optional: open the Chart tab and select Line to see the trend.

  8. Optional: open the Customize tab to add value labels, a grid or an axis title.

At the same time, the table groups its rows by Cancellation month. Each group row shows the number that the chart shows. If you remove the category, the grouping goes away too.

The chart is not saved with the report. If you leave the page, add the fields again. Take a screenshot to share a chart.

Categories: what you split by

A category is a column whose values become the labels on the chart axis. Each different value gets its own column, bar, point or pie slice. A good category has a small number of values, for example 12 months, 7 week days or 8 membership types.

Use these columns for a time axis. They exist only for charts, so they are hidden in the table.

Column

Example value

Data source

Start month

2026-03

Memberships, Member

Cancellation month

2026-03

Memberships, Member

Class month

2026-03

Classes, Class registrations

Class week

2026-W11

Classes, Class registrations

Class hour

17:00

Classes, Class registrations

Order month

2026-03

Order items

Order week

2026-W11

Order items

Week day

Monday

Classes, Class registrations

The chart puts time values in time order and week days from Monday to Sunday, unless you sort the table by another column. A week is an ISO week, which starts on Monday. Week 1 is the week with the first Thursday of the year.

Do not use a date-and-time column, such as Class begins or Check in at, as a category. Each minute becomes its own bar. Use the month, week or hour column instead.

Rows with no value go into a group called "(blank)". For example, memberships that are not cancelled show as "(blank)" under Cancellation month. To hide them, filter the table on that column with "is not empty".

You can add a second category. The chart then shows the second category inside each value of the first, on the same axis. For example, Class month first and Class name second gives a bar per class inside each month. The order in the Categories list decides the nesting. Two categories give many bars, so use a short period or a filter.

Series: what you count or measure

A series is the number that the chart shows for each category value. The chart builder calculates it from all the rows in that group. Each series gets its own color and its own entry in the legend.

The calculation depends on the column:

Kind of column

Examples

What the chart shows per group

Count column

Count, New members, Lost members, Conversions, Attended members, No-shows, Late cancellations, Free spots

The total number

Rate column

Churn rate, Retention rate, Conversion rate (%), Attendance rate, No-show rate

A percent, for example 4.2 %

Money and amount column

Revenue, Profit, Quantity, Discount amount, Tax value

The sum

Percent column

Class attendance percentage, Margin, Tax rate

The average

Text or list column

Owner name, Class name, Payment method

The number of rows that have a value

Add the category first. Before the table is grouped, only number columns can go in Series. After you add a category, you can drop any other column in Series, and the chart counts its values.

To compare two numbers in one chart, add two series. For example, add New members and Lost members with Start month as the category. Use numbers of the same kind: a count and a percent on one axis make the percent look flat.

To change the calculation of a money or number column, open the column menu in the table header and choose Aggregation. You can choose, for example, Sum, Average, Minimum, Maximum or Count. The chart follows the table. Count and rate columns have one fixed calculation, so their results always mean the same thing.

The chart takes its rows from the table. Filters on the table also filter the chart. For example, filter the Employee column to leave out staff memberships.

Chart types

You select the chart type in the Chart tab. The default is Column.

Chart type

Use it for

Example

Column

Compare groups, or a few periods

Members per membership type

Bar

Compare groups with long names

No-show rate per class

Line

A trend over many periods

Churn rate per month over two years

Area

A trend where the total size matters

Revenue per week

Pie

Parts of a whole, with at most 6 slices

Share of check-ins per week day

A pie chart has one category. If you select Pie with two categories, the chart keeps the first one. Use a pie only for counts and sums. A pie of percentages adds them up, which has no meaning.

The Customize tab changes the look:

  • Stacked puts the series on top of each other. Use it only when the series together make a total, for example Attended members and No-shows.

  • Column labels or Bar labels show the value on each bar.

  • Grid adds guide lines, so the values are easier to read.

  • The axis label fields give the axes a title.

  • Height makes the chart taller.

Recipes

Each row is one chart. Open a saved report with the data source, then add the category and the series. Set the report period first, because the chart uses only the rows of that period.

Question

Data source

Category

Series

Chart type

Tip

How many new members do we get each month?

Memberships

Start month

New members

Column

How many memberships are cancelled each month?

Memberships

Cancellation month

Count

Column

Filter Cancellation month on "is not empty"

Which membership types lose the most members?

Member

Membership type name

Churn rate

Bar

Which membership types keep their members?

Member

Membership type name

Retention rate

Bar

Do our intro offers turn into memberships?

Memberships

Membership type name

Conversion rate (%)

Bar

How many members of each type do we have?

Member

Membership type name

Count

Pie

Filter Membership status on Active

When are our classes busiest?

Class registrations

Class hour

Attended members

Column

Which week days are busiest?

Class registrations

Week day

Attended members

Column

Is attendance going up or down?

Class registrations

Class week

Attended members

Line

Which classes have the most no-shows?

Class registrations

Class name

No-show rate

Bar

Who cancels late most often?

Class registrations

Owner name

Late cancellations

Bar

Sort the table by Late cancellations, highest first

How full are our classes on each week day?

Classes

Week day

Class attendance percentage

Column

Which classes have empty spots?

Classes

Class name

Free spots

Bar

Which trainers have the most participants?

Classes

Trainer name

Attendance

Bar

How much do we sell each month?

Order items

Order month

Revenue

Column

What sells best?

Order items

Product name

Revenue

Bar

How do members pay?

Order items

Payment method

Count

Pie

To compare one thing over time per group, add two categories. For example, Class month and then Class name shows the attendance of each class, month by month.

How the KPIs are calculated

Each KPI uses the rows of the report period and the filters of the table. A membership status "at the start" is the status on the first day of the period, and "at the end" is the status on the last day.

KPI

Calculation

Data source

Count

The number of rows, for example memberships, registrations, classes or order lines

All

New members

The memberships that are new in the period

Memberships, Member

Lost members

The memberships that are Active at the start and not Active at the end

Memberships, Member

Churn rate

Lost members ÷ memberships that are Active at the start × 100

Memberships, Member

Retention rate

Memberships that are Active at the start and at the end ÷ memberships that are Active at the start × 100

Memberships, Member

Conversions

The memberships that moved to another membership type

Memberships, Member

Conversion rate (%)

Conversions ÷ all memberships × 100

Memberships, Member

Attended members

The registrations with the status On time or Too late

Class registrations

Attendance rate

Attended members ÷ completed registrations × 100

Class registrations

No-shows

The registrations with the status Never met

Class registrations

No-show rate

No-shows ÷ completed registrations × 100

Class registrations

Late cancellations

The registrations with the status Opted out too late

Class registrations

Free spots

Maximum number of participants − attendance, never below 0

Classes

Class attendance percentage

Attendance ÷ maximum number of participants × 100, per class. A group shows the average of its classes.

Classes

Revenue

(Price − discount) × quantity − refunds, per order line

Order items

Margin

(Revenue − cost price) ÷ revenue × 100, per order line. A group shows the average of its lines.

Order items

A completed registration has one of these statuses: On time, Too late, Never met, Opted out or Opted out too late. Registrations on a waiting list, or only signed up, do not count in the rates. So a class that has not happened yet does not lower the attendance rate.

Churn rate and Retention rate always add up to 100 %. Use the one that your team talks about.

Columns in each data source

The Fields tab lists only the columns of the data sources that the report uses. If a column is missing, change "Report on" in the report. Yes/no columns, such as Employee or Attended, are not in the Fields tab. Use them as table filters, or use the KPI that counts them, for example Attended members.

Memberships and Member

Memberships has one row per membership. Member has one row per member. Member has no Period start, Period end, Renewal date, Purchased date, Cancellation date, Put on hold date or Cancellation month.

Use as

Columns

Series

Count, New members, Lost members, Churn rate, Retention rate, Conversions, Conversion rate (%), Revenue, Price amount, Discount amount, Price change, Discount change, Membership length, On hold length

Category for time

Start month, Cancellation month

Category for groups

Membership type name, Membership category name, Start membership status, End membership status, Frequency, Trainer name, Converted to membership type, Price currency, Owner name

Filter only

Employee, Guest voucher, Lost member, Converted, New membership

Classes

Classes has one row per class.

Use as

Columns

Series

Count, Attendance, Maximum number of participants, Class attendance percentage, Free spots, On hold length

Category for time

Class month, Class week, Class hour, Week day

Category for groups

Class name, Trainer name

Filter only

New membership

Class registrations

Class registrations has one row per sign-up for a class.

Use as

Columns

Series

Count, Attended members, Attendance rate, No-shows, No-show rate, Late cancellations

Category for time

Class month, Class week, Class hour, Week day

Category for groups

Class name, Trainer name, Participation status, Membership status, Membership type name, Membership category name, Owner name

Filter only

Attended, New membership

Order items

Order items has one row per order line.

Use as

Columns

Series

Count, Revenue, Profit, Margin, Quantity, Price amount, Discount amount, Tax value, Tax rate

Category for time

Order month, Order week

Category for groups

Product name, Membership type name, Ticket name, Event name, SKU, Order status, Payment method, Payment type, Price currency, Owner name

Filter only

Is fee, Cashier, Tax rate inclusive

Date columns, such as Order date or Class begins, can also be categories, but each date or minute becomes its own bar. Use the month or week column instead. The KPI, month, week and hour columns are hidden in the table. To show one, open Columns in the table toolbar.

What the chart builder cannot do yet

You want

What to do now

One colored series per group, for example revenue per month with one color per membership type

Add two categories (Order month, then Membership type name). The types show side by side inside each month. Or make one chart per type with a table filter.

This year next to last year, month by month

Set the report period to two years and use the month column. The months come one after the other.

Save the chart with the report

Take a screenshot. The fields take less than a minute to add again.

Visits per member, lifetime value or monthly recurring revenue

These KPIs are not in the reports yet.

Common problems

Problem

Cause

What to do

I cannot find the Chart button.

The button shows only on a saved report.

Save the report, then open it from the report list.

The chart is empty.

The chart needs at least one category and one series.

Add a column to Categories and a column to Series.

I cannot find a column.

The Fields tab shows only the columns of the report's data sources.

Change "Report on" to the data source that has the column.

I cannot find Attended, Lost member or Converted.

Yes/no columns are not in the Fields tab.

Use Attended members or Attendance rate, Lost members or Churn rate, Conversions or Conversion rate (%).

I cannot drop a text column in Series.

The table is not grouped yet, or the table is grouped by that column.

Add a category first. A column can be a category or a series, not both.

The chart has hundreds of bars.

The category is a date or a date-and-time column, or a column with many values, such as Owner name.

Use a month, week or hour column, or filter the table.

There is a bar called "(blank)".

Some rows have no value in the category column.

Filter the table on that column with "is not empty".

The months are not in order.

The table is sorted by another column.

Remove the sort, or sort the table by the group column.

The numbers are much too high.

A percent column is added up.

Use a rate column, or set the column's aggregation to Average.

A series looks flat.

It shares the axis with a much bigger series, for example a percent next to a count.

Put the two numbers in two charts.

The pie chart drops my second category.

A pie chart has one category.

Use a Column or Bar chart for two categories.

My table grouping changed.

The chart groups the table by its categories.

Remove the category to undo the grouping.

The KPI columns are not in my table.

They are hidden in the table by default.

Open Columns in the table toolbar and switch them on.

My chart is gone.

The chart is not saved with the report.

Add the fields again.

Did this answer your question?