XL

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. 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

Bitte beachten Sie:

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


Erlä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")

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.

Aufruf

Beachten Sie den genauen Aufbau (Trennung über Kommata).

$Aggregate("TableName","FeldName","Funktion","IndexName",KeyFieldCount,"RangeStart","RangeEnd")

Aggregate lassen sich auch alternativ mit Filterbedingung nutzen

$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:

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.

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.

$Aggregate(Vorgang,AdrNr,"Cnt","AdrNr",1,«Vog.AdrNr»,«Vog.AdrNr»)

Beispiel 4:

Durchschnittsbetrag Netto der Vorgänge der aktuell ausgewählten Adresse.

$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).

$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 [><].

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

Aggregate("TableName"|"FeldName"|"Funktion"|"IndexName"|KeyFieldCount|"RangeStart"|"RangeEnd"|"[optionale Filterbedingung]") 
  • No labels