Skip to content

Aggregator

The Aggregator is your reporting tool. It collects data across all modules (persons, roles, value streams, relationships …), filters it by your criteria, computes metrics and renders the result as a chart or table. Reports can run once or on a schedule.

Open it from the sidebar under Settings → System & Automation → Aggregator (/aggregator). The page is only visible to tenant admins and platform admins.

Report overview

  • Reports — create, edit, run and (de)activate reports.
  • Results — the last computed result per report as a chart/table.

New Report opens a five-step wizard. Navigate with Next/Back and save at the end.

Report builder with data sources, filters and metrics

Choose which modules feed the report. Multiple selection is possible. Two special sources:

  • * — all modules.
  • _relationship — the relationships themselves (instead of entities).

Working example: the “Nexora Software” demo tenant has a report called “Beziehungsübersicht” (Relationship overview) that uses _relationship as its data source and groups by _relTypeName (relationship type) — a good template for building your own relationship reports.

Filters narrow down which records are counted. Each filter has a field path, an operator and a value.

  • Field path: e.g. name, descJsonb.status or a technical field like _module, _entityType. Available fields are auto-discovered from the chosen modules.
  • Operator — what the filter options mean:
OperatorMeaning
eq / neqequal / not equal
gt / gtegreater / greater-or-equal
lt / lteless / less-or-equal
contains / notContainscontains / does not contain
startsWith / endsWithstarts with / ends with
exists / notExistsfield present / absent
in / notInin list / not in list
  • Value: a fixed value — or a context variable replaced at runtime:
VariableMeans
$currentUser, $currentUsernamelogged-in user
$currentPersontheir person entity
$currentTenantcurrent tenant
$today, $nowtoday’s date / timestamp
$thisWeek, $thisMonth, $thisYearstart of week/month/year

Context variables make reports personalized — e.g. “my open projects” with $currentPerson, which fits every viewer.

By default all filters are AND-combined — a record must match every filter. “Add OR group” creates a second group: records count if they fully satisfy either group (filters within a group stay AND-combined). With just one group the builder looks exactly as before — grouping is purely optional and only becomes visible once you add a second group.

Example: “People in Engineering or Sales, each with status Active” → group 1: descJsonb.department eq Engineering AND status eq Active; group 2: descJsonb.department eq Sales AND status eq Active.

In Expert mode (the toggle in the top-right, or M) an additional “Edit as JSON” option is available — for filters that also need NOT or deeper nesting the group form can’t express. See Automator’s “Advanced Mode” section for the JSON format — it’s identical.

  • Metric: what is computed. A metric has a field and an aggregation:
AggregationMeaning
countnumber of records (field *)
countDistinctnumber of distinct values
sumsum
avgaverage
min / maxsmallest / largest value
  • Group by: a field that summarizes the results — e.g. _module (count per module) or descJsonb.department (count per department).

Choose the chart type and map the axes to fields/metrics. Available types: bar, line, pie, scatter, radar, treemap, heatmap, KPI (single metric) and table.

Each chart type has required axes (e.g. bar needs X + Y). If a mapping is missing, the wizard points it out before saving.

  • Interval: none (manual only) or automatically every 5min, 15min, 30min, hourly, daily, weekly.
  • Timeout: max runtime in seconds (default 600), so a heavy report does not run forever.

In the report list you start a report via Run. The result is cached (snapshot) and shown in the Results tab — even without recomputing.

Report result as a chart

Scheduled reports run automatically in the background; the result is updated on every run.

  • Tenant admins (and platform admins) see all reports of the tenant.
  • Regular users only see their personal reports.
  • Start small: begin with data source *, metric count, group by _module — that instantly yields a meaningful overview.
  • Fields only after picking modules: the field list in filters/metrics fills from the chosen modules. So pick data sources first.
  • Use schedules sparingly: frequent intervals (5min) create load. daily is enough for most analyses.
  • Test context variables: personalized reports show from your own perspective — another user may see something different.
  • More templates in the demo tenant: “OKR-Fortschritt” (data source okr, filter subtype eq key_result, metric avg(progress), grouped by owner), “Org-Kennzahlen” (data source organigramm, filter orgType eq Team, metric sum(headcount), grouped by division) and “Risiko-Kennzahlen” (data source risk, metrics avg(riskScore) + count, grouped by riskCategory) show typical filter+groupBy+aggregation combinations.