Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 Tabellenansicht der Adressen 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, für welches die Funktion angewendet werden soll

3. Funktion bezeichnet eine der möglichen Funktionen:

FunktionBezeichnung der Funktion
Min Minimalwert
Max Maximalwert
Sum Summe
Avg Durchschnittswert
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. FilterbedingungOptional kann an dieser Stelle noch eine Filterbedingung auf echte Datenbankfelder angegeben werden


Note
titleBeachten Sie:

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 (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
titleInfo:

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]")