Liste der in Envision vorhandenen Aggregatoren - Software zur Bestandsoptimierung

Liste der Aggregatoren in Envision












Startseite » Ressourcen » Hier

Auf dieser Seite werden alle von Envision unterstützten Aggregatoren gelistet. Aggregatoren sind so ähnlich wie Funktionen, aber haben den Vorteil, dass sie über eine breitere Syntax mit mehr Optionen verfügen.


Nutzung von Aggregatoren

Aggregatoren haben zwei Nutzen, entweder es werden zwei Tabellen verknüpft oder nicht.

Einfache Aggregation

Wenn keine Verknüpfung vorliegt, ist die allgemeine Nutzung eines Aggregators agg:
u = agg(v) by [w1, w2, w3] sort [w4, w5] if c or x over [a .. b]
Hierbei ist:
  • agg der Name des Aggregators.
  • by eine Option, die auf die Gruppen, die bei der Aggregation genutzt werden sollen, hinweist. Es ist möglich, nach einem oder mehreren Werten zu aggregieren.
  • sort ist eine Option, die die Reihenfolge angibt, die beim Aggregieren benutzt werden sollt. Es ist möglich, nach einem oder mehreren Werten zu aggregieren.
  • if ein Aggregator-Filter. Wenn vorhanden, werde alle false-Zeilen bei der Aggregation ausgelassen.
  • or ist eine Option, die den Wert der Rückgabe bei einer leeren Gruppe angibt.
  • over ist eine Option zur Definition eines Aggregationszeitraumes, dessen zeitliche Grenzen in Tagen in Bezug auf das Datum der entsprechenden Zeile ausgedrückt werden.

Wird by nicht angegeben, findet die Gruppierung gemäß des Kontexts, bei Zuordnungen, unter Benutzung der linken Seite der Anweisung statt. Es ist möglich, mehrere Variable nach by zu listen. Wird nur eine Variable benutzt, benötigt man keine Klammern.

Die Option sort hat gewöhnlich keinen Einfluss auf die meisten Aggregatoren z.B. max, da diese Operatoren zum einen nicht von der Sortierreihenfolge abhängen. Doch wir empfehlen, diese Option mit first und last Aaggregatoren zu nutzen.

Wird if nicht angegeben, werden alle Zeilen berücksichtigt, was if true entspricht.

Wird die or Option nicht angegeben, werden die Standardwerte zurückgegeben, wenn die Gruppe leer ist: 0 (Null) für Zahlen, false für Boolean und leere Strings für Text, und die Nullverteilung für Verteilungen.

Aggregation mit Tabellenverknüpfung

Die allgemeine Syntax für diesen zweiten Fall ist ähnlich zur oben beschriebenen, jedoch etwas anders:

u = agg(v) by [w1, w2, w3] sort [w4, w5] if c at [z1, z2, z3] or x

Die at Option gibt die benutzten Gruppen für die Verknüpfung von Tabellen an. Bitte beachten Sie, dass diese Gruppen eins zu eins mit denen der by Option übereinstimmen müssen. Folglich ist die by Option verbindlich und die Anzahl der Einträge der by und der at Option müssen identisch sein.

Grundaggregatoren

Die gängigsten Aggregatoren sind:

  • avg: nur numerische Argumente; gibt den Durchschnittswert der Zeile zurück.
  • count: zählt die Anzahl der Zeilen, die entweder true (Booleans) oder nicht-Null (Zahlen) oder nicht leer (Text) sind.
  • distinct: zählt die Anzahl der eindeutigen Werte.
  • first: gibt den mit der ältesten Zeile assoziierten Wert zurück, wie in der Sortierreihenfolge definiert.
  • last: gibt den mit der jüngsten Zeile assoziierten Wert zurück, wie in der Sortierreihenfolge definiert.
  • max: gibt den höchsten Wert zurück.
  • median: verhält sich wie die MEDIAN-Funktion in Excel.
  • min: gibt den niedrigsten Wert zurück.
  • product: nur numerische Argumente; gibt das Produkt des Zeilenwerts zurück.
  • ratio: gibt den Prozentsatz (zwischen 0 und 1) der wahren Booleans oder von Zahlen ungleich Null. Das Verhältnis einer leeren Gruppe ist 1.
  • same: erwartet, dass alle gruppierten Werte identisch sind (schlägt ansonsten fehl) und gibt diesen Wert wieder.
  • sum: nur numerische Argument; gibt die Summe der Werte der Zeile zurück.

Logische Aggregatoren

Die unteren Aggregatoren geben einen booleschen Wert zurück.

  • all: gibt true zurück, wenn alle Eingabezeilen true sind. Ansonsten gibt es false zurück.
  • any: gibt false zurück, wenn alle Eingabezeilen false sind. Ansonsten gibt es true zurück.
  • exists: gibt true zurück, wenn dem Aggregator mindestens eine Zeile übergeben wird.

Zeitliche Aggregatoren

Diese Aggregatoren sind nur auf Tabellen mit einer Date Spalte anwendbar.

  • latest (Kreuztabelle, besonderer Fall): gibt den jüngsten beobachteten Wert zurück. latest ist nicht mit keiner der vorhandenen Optionen kompatibel.

Statistische Aggregatoren

Die unteren Aggregatoren bieten statistische Berechnungen:


Zufallsvariablen

Es kann eine Verteilung durch Aggregation erstellt werden (siehe auch Algebra der Verteilungen):

  • ranvar: gibt eine empirische Zufallsvariable zurück, die der numerischen Beobachtung entspricht.
  • sumr: gibt die Summe additiver Faltungen von Zufallsvariablen zurück. Wie sum() ist der Aggregator dem + Operator zugeordnet, der Aggregator sumr() ist dem +* Operator zugeordnet.