Wert erzeugende Operatoren

Folgende Operatoren stehen zur Verfügung: sum, product, card, min, max, mean, convert.

Summe

XML-Tag:

Sum

Operanden:

genau eine Wertemenge

Synopsis:

<sum>
<Wertemenge>
</sum>

Operanden:

numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE)

Ergebnis:

Wert

Ergebnistyp:

Datentyp der verwendeten Wertemenge, bei gemischten Datentypen innerhalb der Menge immer DOUBLE

Bezeichnung:

Bildet die Summe aller Elemente der Wertemenge.

Berechnung (PPM3/PPM4)

Ergebnis

Summe der Werte, die in der Wertemenge enthalten sind. NULL, wenn die übergebene Menge leer ist.

Fehler

Wenn mind. ein Element der Wertemenge einen unzulässigen Datentyp hat.

Beispiel:

-

Produkt

XML-Tag:

Product

Operanden:

genau eine Wertemenge

Synopsis:

<product>
<Wertemenge>
</product>

Operanden:

numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE)

Ergebnis:

Wert

Ergebnistyp:

Datentyp der verwendeten Wertemenge, bei gemischten Datentypen innerhalb der Menge immer DOUBLE

Bezeichnung:

Bildet das Produkt aller Elemente der Wertemenge.

Berechnung (PPM3/PPM4)

Ergebnis

Multiplikation der Werte, die in der Wertemenge enthalten sind. NULL, wenn die übergebene Menge leer ist.

Fehler

Wenn mind. ein Element der Wertemenge einen unzulässigen Datentyp hat.

Beispiel:

-

Kardinalität

XML-Tag:

Card

Operanden:

genau eine Wertemenge

Synopsis:

<card>
<Wertemenge>
</card>

Operanden:

Alle Datentypen der spezifizierten Wertemenge

Ergebnis:

Wert

Ergebnistyp:

immer LONG

Berechnung (PPM3/PPM4)

Ergebnis

Ermittelt die Anzahl aller Elemente der Wertemenge. Bei leerer Menge ist der Rückgabewert 0.

Fehler

Keine

Beispiel:

-

Minimum

XML-Tag:

Min

Operanden:

genau eine Wertemenge

Synopsis:

<min>
<Wertemenge>
</min>

Operanden:

numerische Datentypen und TIME (TIMESTAMP, DATE), DAY, TIMEOFDAY

Ergebnis:

Wert

Ergebnistyp:

Datentyp der Wertemenge

Bezeichnung:

Liefert den kleinsten Wert aus der Wertemenge.

Berechnung (PPM3/PPM4)

Ergebnis

NULL bei leerer Wertmenge

Fehler

Keine

Beispiel:

-

Maximum

XML-Tag:

Max

Operanden:

genau eine Wertemenge

Synopsis:

<max>
<Wertemenge>
</max>

Operanden:

numerische Datentypen und TIME (TIMESTAMP, DATE), DAY, TIMEOFDAY

Ergebnis:

Wert

Ergebnistyp:

Datentyp der Wertemenge

Bezeichnung:

Liefert den größten Wert aus der Wertemenge.

Berechnung (PPM3/PPM4)

Ergebnis

NULL bei leerer Wertmenge

Fehler

Keine

Beispiel:

-

Durchschnitt

XML-Tag:

Mean

Operanden:

genau eine Wertemenge

Synopsis:

<mean>
<Wertemenge>
</mean>

Operanden:

numerische Datentypen (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE)

Ergebnis:

Wert

Ergebnistyp:

Datentyp des Operanden

Berechnung (PPM3)

Ergebnis

Durchschnitt der in der Menge enthaltenen numerischen Werte. NULL, wenn Operand gleich leere Menge.

Fehler

Bei unzulässigem Datentyp oder wenn mind. ein Operand gleich NULL ist.

Berechnung (PPM4)

Ergebnis

Durchschnitt der in der Menge enthaltenen numerischen Werte. NULL, wenn Operand gleich leere Menge oder NULL.

Fehler

Wenn mind. ein Element der Wertemenge einen unzulässigen Datentyp hat.

Beispiel:

<mean>
<union>
<attribute name="AT_ANZAHL_POS1" nodetype="OT_FUNC"/>
<attribute name="AT_ANZAHL_POS2" nodetype="OT_FUNC"/>
</union>
</mean>

Datentypkonvertierung

XML-Tag:

convert

Operanden:

genau ein Wert

Synopsis:

<convert datatype="...">
<Wert>
</convert>

Operanden:

TEXT bzw. numerischer Datentyp, liefert den Eingabewert für die Konvertierung.

Attribut:

Attribut datatype legt fest, in welchen Datentyp der Eingabewert konvertiert werden soll.

Ergebnis:

In den angegebenen Datentyp konvertierter Wert

Ergebnistyp:

LONG, DOUBLE, FREQUENCY, BOOLEAN, TEXT, TIME, TIMESPAN, FACTORYTIMESPAN, DAY, PERCENTAGE

Bezeichnung:

Konvertieren eines numerischen Datentyps (z. B. LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, PERCENTAGE) in einen anderen numerischen Datentyp.

Konvertieren des Datentyps TEXT in einen dieser Datentypen: LONG, DOUBLE, BOOLEAN, TIMESPAN oder FREQUENCY.

Nach der Konvertierung wird das Ergebnis in der Basisskalierung an das Ergebnisattribut geschrieben.
Beim Konvertieren wird das interne PPM-Format verwendet. Es kann kein eigenes Format angegeben werden.

Konvertierung des Datentyps LONG nach TEXT, wobei führende Nullen und Trennzeichen entfernt werden. Das Resultat der Konvertierung ist die in einen String konvertierte Zahl ohne Trennzeichen. In folgendem Bsp. wird der LONG-Wert 000300080191 in den TEXT-Wert 300080191 konvertiert:

<convert datatype="TEXT">
<constant>
<dataitem>
000300080191
<datatype name="LONG"/>
</dataitem>
</constant>
</convert>

Es ist möglich beliebige Datentypen nach TEXT zu konvertieren, z. B.:

  • CONVERT(DOUBLE(-300080191)) -> TEXT(„3.00080191E8")

  • CONVERT(TIME(07.01.1971 00:01)) -> TEXT(„7.1.1971 0:01")

  • CONVERT(TIME(07.01.2000)) -> TEXT(„07.1.1971")

  • CONVERT(BOOLEAN(1)) -> TEXT(„FALSE") (Alles was nicht true ist, ist false.)

Die bei der Ausgabe verwendete Skalierung entspricht der am Objekt vorgefundenen, z. B.:

  • convert(<dataitem>1 YEAR<datatype name='TIMESPAN'/></dataitem>) -> TEXT("1.0 YEAR")

  • convert(<dataitem>1 YEAR<datatype name='TIMESPAN'/><scale name='MONTH'/></dataitem>) -> TEXT("12.166666666666666 MONTH") (== 365 days/30 days)

Berechnung (nur PPM4)

Ergebnis

Liefert den konvertierten Wert des Operanden. NULL, wenn Operand NULL liefert

Fehler

Bei fehlgeschlagener Konvertierung

Beispiel:

<convert datatype="LONG">
<filteredattribute name="AT_ABC"
nodetype="PROCESS"/>
</convert>

Ein angenommener Wert 456 für das Attribut AT_ABC vom Typ TEXT wird in den Datentyp LONG konvertiert.