Durch aggregierte Daten können Sie eine Vielzahl an Einzelbeobachtungen in einem einzigen Wert zusammenfassen. Dies erreichen Sie über die die Funktion "Aggregate".
Aufruf (Beispielaufbau)
Code Block |
---|
Aggregate("TableName"|"FeldName"|"Funktion"|"IndexName"|KeyFieldCount|"RangeStart"|"RangeEnd") |
Aufruf mit optionaler Filterbedingung (Beispielaufbau)
Diese Funktion aggregiert ein Feld einer beliebigen Tabelle mit einer beliebigen Funktion unter Verwendung eines Indexbereichs und einer Filterbedingung.
...
Code Block |
---|
Aggregate("TableName"|"FeldName"|"Funktion"|"IndexName"|KeyFieldCount|"RangeStart"|"RangeEnd"|"[optionale Filterbedingung]") |
Beschreibung Übergabewerte an die Funktion
- TableName: bezeichnet den Namen der Tabelle
- FeldName: bezeichnet den Namen des Feldes, den für die Funktion angewendet werden soll
- Funktion: bezeichnet ein der möglichen Funktionen:
Min - Minimalwert
Max - Maximalwert
Sum - Summe
Avg - Durchschnittswert
Cnt – Anzahl der Datensätze im Bereich - IndexName: bezeichnet den Sortierungsnamen
- KeyFieldCount: gibt die Anzahl der Felder im Index an, die man nachfolgend für RangeStart / RangeEnd belegen will
- RangeStart: bezeichnet die Felder für den Bereichsanfang
- RangeEnd: bezeichnet die Felder für das Bereichsende
- Optionale Filterbedingung: Es kann optional auch eine Filterbedingung auf echte Datenbankfelder angegeben werden
Hinweise zu Feld RangeStart und RangeEnd
Die Anzahl von RangeStart und RangeEnd Feld-Werten muss mit dem KeyFieldCount übereinstimmen:
- D. h. bei KeyFieldCount = 1 ,muss …1|"RangeStart"|"RangeEnd") angegeben werden
- D. h. bei KeyFieldCount = 2 ,muss …2|"RangeStart"|"RangeStart2"|"RangeEnd"|"RangeEnd2") angegeben werden
- usw.
Beispiele:
...
Sie möchten die Anzahl der Vorgänge in der Vorgangsübersicht einer Adresse ausweisen
...
Diese Ausweisung erhält man über:
Code Block |
---|
External$('Aggregate( "Vorgang"|"AdrNr"|"Cnt"|"AdrNr"|1|" «AdrNr»"|"«AdrNr»")') |
Das Feld „SaldoBet" aus der Table „BuchungenLohn" wird aufsummiert, wobei die Datensätze über den Index JPKtoNr eingeschränkt werden
...
Code Block |
---|
External$('Aggregate("BuchungenLohn"|"SaldoBet"|"Sum"|"JPKtoNr"|3|"Year(BereichDate)"|"Month(BereichDate)"|"LBK.LAKtoNrSonstige"|"Year(BereichDate)"|"Year(BereichDate)"|"Month(BereichDate)"|"LBK.LAKtoNrSonstige"|"Year(BereichDate)"|"Month(BereichDate)"|"LBK.LAKtoNrSonstige")') |
Sie möchten im Druck Designer eine Aggregate Funktion nutzen und neben dem Range noch eine Filter-Bedingung auf ein Datenbankfeld setzen
Fester Text als Vergleichswert:
In diesem Beispiel prüft die Filterbedingung auf den festen Vergleichswert: "Genehmigt" in Selektionsfeld 4.
Code Block |
---|
External$('Aggregate("Anschriften"|"AdrNr"|"CNT"|"AdrNrAnsNr"|"1"|AktVog.AdrNr|AktVog.AdrNr|"Sel4=`Genehmigt`")') |
Variable als Vergleichswert:
In diesem Beispiel prüft die Filterbedingung auf die Variable: AktVog.Bez aus der Variablen-/Feld-Liste des Druck Designers in Selektionsfeld 4.
Code Block |
---|
External$('Aggregate("Anschriften"|"AdrNr"|"CNT"|"AdrNrAnsNr"|"1"|AktVog.AdrNr|AktVog.AdrNr|"Sel4=`"AktVog.Bez"`")') |
Note | ||
---|---|---|
| ||
Da es in diesem Beispiel gewünscht ist, den Inhalt der Variablen zu übergeben, muss der vorhergehende String abgeschlossen werden. Da im Filter ein String-Vergleich beabsichtigt ist, muss ein schräg abfallender, kurzer Strich (Gravis) am Anfang und am Ende der Variable eingefügt sein. Zur Verdeutlichung finden Sie an dieser Stelle noch einmal eine Hervorhebung in einem Ausschnitt aus obenstehender Formel:
|