Aggregieren innerhalb des Skriptes erfolgt innerhalb des Skriptes mit der GROUP BY Anweisung.

Beispieltabelle:

VID KID VUIS Umsatz Kosten Menge ..
1 1 2 10 5 1 ..
1 1 2 20 5 2 ..
2 1 1 20 5 2 ..
3 1 1 40 10 1 ..
3 1 2 10 10 1 ..
4 1 1 20 5 2 ..
4 1 1 30 20 1 ..

Problem:

In diesem Beispiel verfügt ein Vorgang über mehrere Umsätze somit ist der Gesamtumsatz pro Vorgang die Summe der Gesamtumsätze der einzelnen Untervorgänge usw.

Des weiteren können wir in diesem Beispiel den Gesamtumsatz pro Kunde über die KID berechnen.

Lösung:

Vorgänge:
Load 
  * 
  , Gesamtumsatz - Gesamtkosten As Gesamtgewinn
;
SQL Select 
  VID
  //, ...
  , Umsatz
  , Kosten
  , Menge
  , Umsatz * Menge As Gesamtumsatz
  , Kosten * Menge As Gesamtkosten
From Vorgänge;

GesamtProVorgang:
Load 
  VID
  , sum(Gesamtumsatz) As GesamtUmsatzVorgang
  , sum(Gesamtkosten) As GesamtKostenVorgang
  , sum(Gesamtgewinn) As GesamtgewinnVorgang
Resident Vorgänge 
Group by VID;

GesamtProKunde:
// left join(Kunden)  // optional möglich
Load 
  KID
  , sum(Gesamtumsatz) As GesamtUmsatzVorgang
  , sum(Gesamtkosten) As GesamtKostenVorgang
  , sum(Gesamtgewinn) As GesamtgewinnVorgang
Resident Vorgänge 
Group by KID;