Versions Compared

Key

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

UI Button
colorturquoise
titleXL

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 die Anzahl & Summe der aktuell offenen Angebote eintragen oder auch die Summe aller Rechnungen im Archiv.

Beschreibung Übergabewerte an die Funktion

...

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 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
titleBitte beachten Sie:

Felder, die erst zur Laufzeit ermittelt werden (z. B. Gesamtpreise, berechnete Felder), können nicht in der Sortierung verwendet werden.


Info
titleErläuterung: "berechnete Felder":

Diese Felder können nicht über eine Eingabemaske befüllt oder importiert werden. Da diese von der büro+ während der Laufzeit selbst errechnet bzw. befüllt werden.

Beispiele:

  • Kennzeichen Felder, welche berechnet werden:
    • Artikel hat Zusätze / Zubehör Kennzeichen [HatZusKz]
    • Position ist Zusätze- / Zubehör Position Kennzeichen [IstZusKz]
    • Zusätze verfügbar [Art.ZusaetzeKz]
  • Info-Image Felder, die verschiedene Daten miteinander kombinieren und die Darstellung entsprechend anpassen (z.B.: "Lagerinformationen", "Ampeldarstellung")



Note
titleBeachten Bitte beachten 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.

Image Modified

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)

...

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

...