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.
Open Reports and open a saved report with the Memberships data source. The Chart button shows only on a saved report.
In the table toolbar, click Chart. The chart panel opens at the right.
Open the Fields tab.
Find Cancellation month in the list. Drag it to Categories, or click its + button and choose Categories in the menu.
Drag Lost members to Series.
Scroll down to the chart below the table. It shows one column per month, oldest month first.
Optional: open the Chart tab and select Line to see the trend.
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. |
