Dashboards, reports and analytics

Report definitions with CSV and PDF export and scheduled delivery, dashboards with metric, chart, table and recent widgets, the end-user analytics viewer, and optional embedded BI.

Permissions#

PermissionAllows
VIEW_ANALYTICSrun reports, view dashboards (/app/analytics, /app/dashboards/<id>, /app/reports/<id>)
MANAGE_REPORTSauthor reports and dashboards

Every built-in profile except Minimum Access has VIEW_ANALYTICS.

Reports#

A report (reports) is a saved query over a collection: reportType (TABULAR, SUMMARY, MATRIX), columns, filters, rowGroupings, columnGroupings, sortOrder, and relatedJoins for lookups. Running it executes a dynamic query with a 30-second timeout and pages the result.

ActionEndpoint
RunPOST /api/reports/{id}/execute — paged rows
ExportGET /api/reports/{id}/export?format=csv or format=pdf (landscape A4, repeated header, page numbers)
Schedule deliverya scheduled job of type REPORT_EXPORT with config.recipients; the CSV is attached (over 10 MB the email links instead)

Masking applies to the person running or exporting a report; filtering, sorting or grouping on a field masked for that person is rejected. Scheduled deliveries run at system trust and are not masked — choose recipients accordingly.

Dashboards#

A dashboard (dashboards) is a columnCount-wide grid of components (dashboard-components), each positioned with 1-based columnPosition / rowPosition and spans. Four component types exist:

TypeShowsconfig
metricone aggregate — SUM, AVG, MIN, MAX, COUNTfunction, field
chartbar (default) or piechartStyle, groupByField (lookups are resolved to display names)
tablea record gridcolumns, filters, sort
recenta record grid styled as a feedsame as table

A dashboard has a page-level time range; a component can opt out (ignoreTimeRange: true) or pin its own (fixedTimeRange: TODAY | 7D | 30D | 90D | 1Y). Chart segments drill through to the filtered list. dynamic dashboards run as a fixed runningUserId instead of the viewer.

The grid model and every row attribute are in the authoring reference.

Authoring#

  • Console — Setup → Analytics: report builder; dashboards are authored as records (a visual dashboard builder is planned).
  • CLI — kelta reports list|get, kelta dashboards list|get --components|apply.
  • MCP — apply_dashboard upserts a dashboard and its components in one call, keyed on the dashboard name and each component’s title.
  • API — kelta dashboards apply goes through PUT /api/dashboards/{name}/tree (GET reads it), which applies the whole dashboard (its components) in one call (CUSTOMIZE_APPLICATION).

Embedded BI#

When the deployment configures Apache Superset (SUPERSET_* variables), the Analytics hub embeds Superset dashboards with guest tokens and synchronises collections as datasets. See Configuration reference.

Edit this page on GitHub