Visuals

OneAnalytics ships with five visuals out of the box. Each takes a QueryRequest behind the scenes — dimensions on axes, measures in data, filters in filters.

Bar

  • Vertical or horizontal, stacked or grouped
  • X-axis: one categorical or date dimension
  • Y-axis: one or more measures
  • Optional series dimension for grouping

Use when comparing magnitudes across a small (<50) set of categories. For time series, prefer Line.

Format options: axis labels, data labels, sort order (asc/desc/natural), top-N (show top 10, group the rest as "Other").

Line

  • X-axis: a date or ordinal dimension
  • Y-axis: one or more measures
  • Optional series dimension for multiple lines

Use for trends over time. Null-handling options: break, zero, interpolate. Dual Y-axis supported for mixing different-scale measures (revenue vs. order count).

Matrix (pivot)

  • Rows: one or more dimensions (nested, drillable)
  • Columns: one or more dimensions (nested)
  • Values: one or more measures

Row subtotals and grand totals toggle per level. Conditional formatting by value, rank, or quartile — heatmap shading, icons, data bars. The default for most finance use cases: P&L statements, variance reports, cohort tables.

KPI card

  • One measure, one value
  • Optional comparison: previous period, target, or year-over-year
  • Delta shown with up/down arrow and colour

Use at the top of dashboards for headline numbers. Supports conditional colour (green above target, red below).

Table

  • N columns, N rows — just raw results with pagination
  • Sort, filter, and search in place
  • Column resizing persisted per user
  • Conditional formatting same as matrix

Use when you need the rows themselves (order list, customer list), not an aggregated view.

Common controls

Every visual supports:

  • Filters tab — visual-level filters that AND with report-level ones
  • Format tab — fonts, colours, axis, legend, data labels
  • Interactions tab — which visuals does this visual filter when clicked
  • AI explain — "Why is this number?" opens an NL query pre-filled with the visual's context

Custom visuals (Vega-Lite, React) ship in v2 — track the roadmap.