Building Charts
Charts are the building blocks of every CalabiIQ dashboard. Each chart is built from a single dataset, configured with metrics, dimensions, and visual settings in the Chart Editor.
Creating a Chart
From the Charts list
- Navigate to Charts in the top navigation.
- Click + Chart.
- Select a Dataset from the dropdown (e.g.,
psychometric_reporting.scores). - Choose a Chart type and click Create new chart.
From a Dataset
- Navigate to Data → Datasets.
- Find the dataset you want to visualise.
- Click the Explore icon (bar chart icon in the Actions column).
- The Chart Editor opens pre-configured with that dataset.
From SQL Lab
After running a query, click Explore in the results toolbar to build a chart from the query results. See SQL Lab for details.
Chart Types Overview
CalabiIQ provides a rich library of chart types. Select the right one for your data shape and the story you want to tell.
| Chart Type | Best For | Typical Dimensions | Typical Metrics |
|---|---|---|---|
| Bar Chart | Comparing values across categories | 1 categorical | 1–3 numeric |
| Line Chart | Trends over time | Time column | 1–5 numeric |
| Area Chart | Cumulative trends over time | Time column | 1–3 numeric |
| Pie Chart | Part-to-whole proportions (≤ 7 slices) | 1 categorical | 1 numeric |
| Big Number | Single KPI with optional trend line | — | 1 numeric |
| Big Number with Trendline | KPI + sparkline context | Time column | 1 numeric |
| Table | Tabular data with sorting and search | Any | Any |
| Pivot Table | Cross-tab analysis | Row + column dims | 1 numeric |
| Scatter Plot | Correlation between two numeric columns | 1 entity dim | 2 numeric |
| Heatmap | Density / intensity across a grid | 2 categorical | 1 numeric |
| Funnel Chart | Conversion / drop-off analysis | 1 categorical (ordered) | 1 numeric |
| Gauge Chart | Progress toward a target | — | 1 numeric |
| World Map | Geographic distribution | Country/ISO column | 1 numeric |
| Bubble Chart | Three-variable comparison | 1 entity dim | 3 numeric |
| Histogram | Distribution of a numeric column | — | 1 numeric |
| Box Plot | Statistical spread (quartiles, outliers) | 1 categorical | 1 numeric |
| Treemap | Hierarchical part-to-whole | 1–3 categorical | 1 numeric |
| Sunburst | Nested hierarchies | 2–4 categorical | 1 numeric |
| Calendar Heatmap | Daily patterns over a year | Date column | 1 numeric |
| Mixed Chart | Bar + line on same axis | Time column | 2+ numeric |
Advanced chart types (Scatter, Heatmap, Funnel, World Map, Bubble, Histogram, Box Plot, Treemap, Sunburst, Calendar Heatmap) require Professional tier or above.
Chart Editor Walkthrough
The Chart Editor is divided into three panes:
┌──────────────────────────────────────────────────────────┐
│ Dataset & Chart Type selector (top bar) │
├──────────────┬───────────────────────────────────────────┤
│ │ │
│ Config │ Chart Preview │
│ Panel │ (updates on Run) │
│ (left) │ │
│ │ │
└──────────────┴───────────────────────────────────────────┘
Config Panel sections
| Section | Purpose |
|---|---|
| Time | Set the time column, time grain (day/week/month/year), and time range filter |
| Query | Define metrics, dimensions (Group By), filters, and row limit |
| Columns | (Pivot Table only) Define column groupings |
| Customize | Visual settings: colors, labels, legend position, number formatting |
| Advanced Analytics | Rolling averages, time comparisons, resampling |
| Annotations | Add reference lines, event markers, or shaded regions |
Configuring Metrics
A metric is an aggregation applied to a column. In the Query section:
- Click + Add metric.
- Choose an aggregate function from the dropdown:
COUNT,COUNT DISTINCT,SUM,AVG,MIN,MAX. - Select the target column.
- Optionally, enter a custom SQL expression for advanced calculations.
- Give the metric a readable label (e.g.,
Avg Score).
You can also use saved metrics defined on the dataset (shown with a bookmark icon). See Metrics.
Configuring Dimensions
Dimensions are columns used to group data (the X-axis of a bar chart, the rows of a table, etc.).
- In the Query section, click the Dimensions field.
- Search for and select one or more columns.
- For time-series charts, set the Time column and Time grain in the Time section.
Adding Filters
Chart-level filters limit the data queried for this chart only (unlike dashboard filters which apply broadly).
- In the Query section, click + Add filter.
- Select a column, an operator (
=,!=,IN,BETWEEN,IS NOT NULL, etc.), and a value. - Click Save on the filter row.
Multiple filters are combined with AND logic by default.
Advanced Analytics
| Option | What it does |
|---|---|
| Rolling average | Smooths noisy time series with a moving window (configurable period) |
| Time comparison | Plots a second series shifted back by a period (e.g., "vs 4 weeks ago") |
| Resampling | Aggregates data to a different grain (e.g., daily → weekly 7D) |
| Cumulative | Replaces each value with the running total |
Running and Updating a Chart
- Click Run (or press Ctrl+Enter) to execute the query and refresh the preview.
- Changes to the Config Panel do not auto-refresh the chart — you must click Run manually.
Use the Row limit dropdown in the Query section to speed up iterations during configuration. Set it back to the desired limit before saving.
Saving a Chart
- After configuring the chart and clicking Run to confirm the output looks correct, click Save (top-right).
- Enter a Chart name.
- Choose whether to Add to dashboard immediately.
- Click Save & go to dashboard or Save.
Saved charts appear in the Charts list and can be added to any number of dashboards.
Adding a Chart to a Dashboard
From the Chart Editor:
- Click ··· → Add to dashboard.
- Search for the dashboard by name.
- Click Add.
From a Dashboard in Edit mode:
- Find the chart in the right-hand Charts panel.
- Drag it onto the canvas.
Editing an Existing Chart
- Open the dashboard containing the chart.
- Hover over the chart and click the pencil (Edit) icon.
- This opens the Chart Editor with the chart's saved configuration.
- Make your changes, click Run, then Save.
All dashboards using this chart will automatically reflect the update.