UI Button | ||||
---|---|---|---|---|
|
Aggregate als Regeln nutzbar
Mit dieser Regel können Werte aggregiert werden. Durch aggregierte Daten können Sie eine Vielzahl an Einzelbeobachtungen in einem einzigen Wert zusammenfassen. Dies erreichen Sie über die die Funktion "Aggregate".
Mit der Funktion können Sie z. B. in der der Tabellenansicht der Adressen beispielsweise die Anzahl die Anzahl & Summe der aktuell offenen Angebote eintragen oder auch die Summe aller Rechnungen im Archiv.
Beschreibung Übergabewerte an die Funktion
1. TableName bezeichnet den Namen der Tabelle
2. FeldName bezeichnet den Namen des Feldes, den für welches die Funktion angewendet werden soll
3. Funktion bezeichnet ein eine der möglichen Funktionen:
Funktion | Bezeichnung der Funktion |
---|---|
Min Min | Minimalwert |
Max Max | Maximalwert |
Sum Sum | Summe |
Avg Avg | Durchschnittswert |
Cnt Cnt | Anzahl der Datensätze im Bereich |
4. IndexName bezeichnet den Sortierungsnamen
5. KeyFieldCount gibt die Anzahl der Felder im Index an, die man nachfolgend für RangeStart / RangeEnd belegen will
6. RangeStart bezeichnet die Felder für den Bereichsanfang
7. RangeEnd bezeichnet die Felder für das Bereichsende
8. Filterbedingung: Optional kann an dieser Stelle noch eine Filterbedingung auf echte Datenbankfelder (mit reellen, festen Werten ohne Berechnungen; Kennzeichen / Boolean sind ebenfalls berechnete Felder) angegeben werden
Note | |||||
---|---|---|---|---|---|
| |||||
Felder, die erst zur Laufzeit ermittelt werden (z. B. Gesamtpreise, berechnete Felder), können nicht in der Sortierung verwendet werden.
|
Note | ||
---|---|---|
| ||
Achten Sie bei der Benutzung der Funktion darauf, dass Sie nur Werte mit gleicher Einheit auswerten. Beispielsweise bei Betragswerten aus Vorgängen sollte man immer z. B. Leitwährung 1 nutzen, ansonsten wird ein falsches Ergebnis ausgewiesen, sofern unterschiedliche Währungen benutzt wurden. |
Aufruf im Bereich der Regeln
Die Anlage einer Regel kann z. B. im Bereich: PARAMETER - ADRESSEN - REGELN erfolgen. Über die Neuanlage mit Auswertungsposition: EIGENE ABLÄUFE kann so z. B. auch eine Meldung / Abfrage mit Dialogart: HINWEIS erstellt werden. Über das Layout kann mittels Feldeditor kann die Funktion "Aggregate" eingegeben werden.
Aufruf
Beachten Sie den genauen Aufbau (Trennung über Kommata).
Code Block |
---|
$Aggregate("TableName","FeldName","Funktion","IndexName",KeyFieldCount,"RangeStart","RangeEnd") |
Aggregate lassen sich auch alternativ mit Filterbedingung nutzen
Code Block |
---|
$Aggregate("TableName","FeldName","Funktion","IndexName",KeyFieldCount,"RangeStart","RangeEnd","[optionale Filterbedingung]") |
Die optionale Filterbedingung wird am Ende des Aggregats angehangen.
- Die Anführungszeichen müssen nicht angegeben werden
- Die Werte selbst werden über Kommata getrennt
Hinweise zu den Felder 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.
Beispiel 1:
Sie möchten die Anzahl der Vorgänge (cnt) in der Vorgangsübersicht einer Adresse ausweisen:
Code Block |
---|
External$('Aggregate("Vorgang"|"AdrNr"|"Cnt"|"AdrNr"|1|"«AdrNr»"|"«AdrNr»")') |
Beispiel 2:
Das Feld „SaldoBet" aus der Tabelle „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")') |
Beispiel 3:
Anzahl der Vorgänge der aktuell ausgewählten Adresse.
Code Block |
---|
$Aggregate(Vorgang,AdrNr,"Cnt","AdrNr",1,«Vog.AdrNr»,«Vog.AdrNr») |
Beispiel 4:
Durchschnittsbetrag Netto der Vorgänge der aktuell ausgewählten Adresse.
Code Block |
---|
$Aggregate(Vorgang,GPreisNt,"Avg","AdrNr",1,«Vog.AdrNr»,«Vog.AdrNr») |
Beispiel 5:
Ermittelt den minimalen netto Gesamtpreis im Bereich Vorgänge für eine Adresse bei der Vorgangsart 30 (inkl. Filterbedingung am Ende der Formel).
Code Block |
---|
$Aggregate(Vorgang,GPreisNt,Min,AdrNr,1,«Adr.AdrNr»,«Adr.AdrNr»,Art = 30) |
Aggregate im Druckdesigner nutzen
Sehe hierzu auch im Bereich des Druckdesigners: Aggregate (Dre Druckdesigner).
Aufruf im Druckdesigner
Beachten Sie den genauen Aufbau (Trennung durch geraden Strich "|" ("Pipe"). Dieses Symbol erzeugen Sie durch: Tastenkombination [Alt Gr] sowie Taste [><].
Code Block |
---|
Aggregate("TableName"|"FeldName"|"Funktion"|"IndexName"|KeyFieldCount|"RangeStart"|"RangeEnd") |
Beispiel:
Sie möchten die Anzahl der Vorgänge in der Vorgangsübersicht einer Adresse ausweisen:
Info | ||
---|---|---|
| ||
External$('Aggregate( Vorgang|AdrNr|Cnt|AdrNr|1|«AdrNr»|«AdrNr»)') |
Aggregate lassen sich auch alternativ mit Filterbedingung im Druckdesigner nutzen
Code Block |
---|
Aggregate("TableName"|"FeldName"|"Funktion"|"IndexName"|KeyFieldCount|"RangeStart"|"RangeEnd"|"[optionale Filterbedingung]") |
Aggregate in den Regeln:
...