Zum Inhalt springen

Aggregator

Der Aggregator ist dein Reporting-Werkzeug. Er sammelt Daten über alle Module hinweg (Personen, Rollen, Wertströme, Beziehungen …), filtert sie nach deinen Kriterien, berechnet Kennzahlen und stellt das Ergebnis als Diagramm oder Tabelle dar. Reports können einmalig oder zeitgesteuert laufen.

Du erreichst den Aggregator über die Sidebar unter Einstellungen → System & Automatisierung → Aggregator (/aggregator). Die Seite ist nur für Tenant-Admins und Platform-Admins sichtbar.

Übersicht der Reports

  • Reports — Reports anlegen, bearbeiten, ausführen, (de-)aktivieren.
  • Ergebnisse — das zuletzt berechnete Ergebnis je Report als Diagramm/ Tabelle.

Über Neuer Report öffnet sich ein Assistent mit fünf Schritten. Du navigierst mit Weiter/Zurück und speicherst am Ende.

Report-Builder mit Datenquellen, Filtern und Metriken

Wähle, welche Module in den Report einfließen. Mehrfachauswahl ist möglich. Zwei Sonderquellen:

  • * — alle Module.
  • _relationship — die Beziehungen selbst (statt der Entitäten).

Lauffähiges Beispiel: Im Demo-Tenant „Nexora Software” findest du den Report „Beziehungsübersicht” — er nutzt _relationship als Datenquelle und gruppiert nach _relTypeName (Beziehungstyp). Eine gute Vorlage, um eigene Beziehungsauswertungen zu bauen.

Filter grenzen ein, welche Datensätze gezählt werden. Jeder Filter besteht aus Feldpfad, Operator und Wert.

  • Feldpfad: z.B. name, descJsonb.status oder ein technisches Feld wie _module, _entityType. Die verfügbaren Felder werden automatisch aus den gewählten Modulen ermittelt.
  • Operator — was die Filteroptionen bedeuten:
OperatorBedeutung
eq / neqgleich / ungleich
gt / gtegrößer / größer-gleich
lt / ltekleiner / kleiner-gleich
contains / notContainsenthält / enthält nicht
startsWith / endsWithbeginnt mit / endet mit
exists / notExistsFeld vorhanden / nicht vorhanden
in / notInin Liste / nicht in Liste
  • Wert: ein fester Wert — oder eine Kontext-Variable, die zur Laufzeit ersetzt wird:
VariableBedeutet
$currentUser, $currentUsernameangemeldeter User
$currentPersondessen Person-Entität
$currentTenantaktueller Tenant
$today, $nowheutiges Datum / Zeitstempel
$thisWeek, $thisMonth, $thisYearBeginn der Woche/Monat/Jahr

Kontext-Variablen machen Reports personalisiert — z.B. „meine offenen Projekte” mit $currentPerson, das für jeden Betrachter passt.

Standardmäßig sind alle Filter UND-verknüpft — ein Datensatz muss jeden Filter erfüllen. Über „ODER-Gruppe hinzufügen” legst du eine zweite Gruppe an: Datensätze zählen, wenn sie eine der beiden Gruppen vollständig erfüllen (Filter innerhalb einer Gruppe bleiben UND-verknüpft). Mit nur einer Gruppe sieht der Builder genauso aus wie bisher — die Gruppierung ist rein optional und wird erst sichtbar, sobald du eine zweite Gruppe hinzufügst.

Beispiel: „Personen in Engineering oder Sales, jeweils mit Status Active” → Gruppe 1: descJsonb.department eq Engineering UND status eq Active; Gruppe 2: descJsonb.department eq Sales UND status eq Active.

Im Experten-Modus (Umschalter oben rechts, oder M) steht zusätzlich „Als JSON bearbeiten” zur Verfügung — für Filter, die auch NICHT oder tiefere Verschachtelung brauchen, die das Gruppen-Formular nicht abbilden kann. Details zum JSON-Format siehe Automators „Advanced Mode”-Abschnitt — das Format ist identisch.

  • Metrik: was berechnet wird. Eine Metrik besteht aus Feld und Aggregation:
AggregationBedeutung
countAnzahl Datensätze (Feld *)
countDistinctAnzahl verschiedener Werte
sumSumme
avgDurchschnitt
min / maxkleinster / größter Wert
  • Gruppieren nach: ein Feld, nach dem die Ergebnisse zusammengefasst werden — z.B. _module (Anzahl je Modul) oder descJsonb.abteilung (Anzahl je Abteilung).

Wähle den Diagrammtyp und ordne die Achsen den Feldern/Metriken zu. Verfügbare Typen: Balken (bar), Linie (line), Kreis (pie), Streudiagramm (scatter), Radar, Treemap, Heatmap, KPI (einzelne Kennzahl) und Tabelle.

Jeder Diagrammtyp hat Pflicht-Achsen (z.B. Balken braucht X + Y). Fehlt eine Zuordnung, weist der Assistent dich vor dem Speichern darauf hin.

  • Intervall: none (nur manuell) oder automatisch alle 5min, 15min, 30min, hourly (stündlich), daily (täglich), weekly (wöchentlich).
  • Timeout: maximale Laufzeit in Sekunden (Standard 600), damit ein schwerer Report nicht endlos läuft.

In der Report-Liste startest du einen Report über Ausführen. Das Ergebnis wird zwischengespeichert (Snapshot) und im Tab Ergebnisse angezeigt — auch ohne erneute Berechnung.

Report-Ergebnis als Diagramm

Zeitgesteuerte Reports laufen automatisch im Hintergrund; das Ergebnis wird mit jedem Lauf aktualisiert.

  • Tenant-Admins (und Platform-Admins) sehen alle Reports des Tenants.
  • Normale User sehen nur ihre persönlichen Reports.
  • Klein anfangen: Beginne mit Datenquelle *, Metrik count, Gruppierung _module — das ergibt sofort eine sinnvolle Übersicht.
  • Felder erst nach Modulauswahl: Die Feldliste in Filtern/Metriken füllt sich aus den gewählten Modulen. Wähle also zuerst die Datenquellen.
  • Zeitpläne sparsam: Häufige Intervalle (5min) erzeugen Last. Für die meisten Auswertungen reicht daily.
  • Kontext-Variablen testen: Personalisierte Reports siehst du aus deiner eigenen Perspektive — was ein anderer User sieht, kann abweichen.
  • Weitere Vorlagen im Demo-Tenant: „OKR-Fortschritt” (Datenquelle okr, Filter subtype eq key_result, Metrik avg(progress), gruppiert nach owner), „Org-Kennzahlen” (Datenquelle organigramm, Filter orgType eq Team, Metrik sum(headcount), gruppiert nach division) und „Risiko-Kennzahlen” (Datenquelle risk, Metriken avg(riskScore) + count, gruppiert nach riskCategory) zeigen typische Filter+Gruppierung+Aggregation-Kombinationen.