Skip to content

Dashboards

Dashboards let you build your own views of your data, bringing the numbers that matter into one place. Where a staff profile shows how one person is doing, a dashboard zooms out to the performance that surrounds them: how a clinic is tracking on billable hours, how session-note completion is trending, or the treatment-fidelity scores behind the programs your RBTs run. Those views are meant to feed supervision. The data gives a BCBA and their supervisee something concrete to discuss, and turns a vague “how are things going” into a specific conversation about what to do next.

For supervision activity itself rather than your own metrics, see the Progress Feed.

They work upward as well. A clinical director can sit down with their BCBAs around a shared dashboard and use it as the conversation point, so every layer of leadership is looking at the same picture of how its part of the organization is developing.

A dashboard combining a line chart of a monthly trend, a pie chart of a breakdown, a stat card of three headline figures, a table of recent rows, and a further row of bar and line charts, with From and To date filters across the top.
A dashboard pulls the metrics you care about into one view: the trend over time, how a total breaks down, headline figures, and the latest detail.

Add widgets to a dashboard and arrange them with drag-and-drop. Every chart widget is driven by a query; you can also add text widgets for headings and context, no query needed. When you add or edit a widget, pick its type from a visual grid and a live preview updates as you configure it.

On a phone or a narrow window there is no room for the arrangement you built, so widgets stack full-width in that order and dragging and resizing are turned off. You can still add, edit and delete them, but rearranging needs a wider screen.

The visualization is picked automatically from the shape of your query’s result, so the way you write the query determines the chart:

  • Stat card: a single row of one to three numbers (e.g. a total).
A stat card widget showing three headline numbers side by side: Completed, In Progress, and Pending.
Stat card: headline numbers for the figures you check at a glance.
  • Line chart: a date column plus one or more numeric columns (a trend).
A line chart widget plotting an average score climbing month over month.
Line chart: how a metric moves over time.
  • Bar chart: categories plus numeric values, when there are more than 8 rows or more than one category or number column. One category and one number over 2 to 8 rows reads as a pie chart; override the type to get bars.
A bar chart widget comparing total staff across departments: ABA Therapy, Speech, Occupational and Admin.
Bar chart: compare a metric across clinics, roles, or departments.
  • Pie chart: one category column plus one numeric column, over 2 to 8 rows.
A pie chart widget showing how staff split across departments such as ABA Therapy and Speech.
Pie chart: how a total splits across a few categories.
  • Table: the fallback for anything else.
A table widget listing staff with their department, their role, such as BCBA or RBT, and a count of sessions.
Table: the fallback for detail that doesn't reduce to a single chart.
  • Text: static rich text for headings and context (no query). Turn on Hide card frame to drop the surrounding card so the text reads as inline prose or a section heading between widgets.

Because the display follows the result, shape the query to shape the chart: rename columns to set the axis and series labels, group to set the categories, and order rows the way you want them shown. You can also override the auto-detected type per widget when you want a specific chart.

Use dashboard variables to make a dashboard interactive, for example to filter by clinic or date range, so one dashboard answers many versions of the same question. Variables fill the :placeholders in each widget’s query.

A variable’s Type sets the control viewers see in the filter bar:

TypeControlWhat the query receives
textText fieldThe text typed
numberNumber fieldThe number
dateDate pickerThe date
selectDrop-down of the options you list under Select OptionsThe option chosen
userPerson pickerThe person’s ID
roleRole pickerThe role’s ID
teamTeam pickerThe team’s ID

A role or team picker starts on its Default Value, or empty (All roles / All teams) when it has none. An empty picker passes an empty value (NULL), so write the filter to keep everyone in that case. Add ::bigint where the query tests for the empty value; without it the query fails once a role or team is picked:

WHERE (:team::bigint IS NULL OR t.team_id = :team)

You don’t need to be a SQL expert. Describe what you want in plain English and the query is drafted for you, or write SQL directly if you prefer. See Querying your data (SQL).

If you have Full access to a dashboard, select Share to give a person, team, or role access to it. Once you pick who to add, the dialog also checks whether they can read the data sources its widgets depend on. See Sharing sources & dashboards.