Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Der Rückgabewert der Zeile, in der alle Werte mit den Spaltenbedigungen Spaltenbedingungen übereinstimmen, ist der Wert der Regel.

Der Wert der Regel kann dabei jeden Datentyp haben. Eine Regel kann auch eine EVAL-Anweisung zurückgeben. 

Image Modified
Abbildung A: Aufbau einer Regel

...

Der Wert einer Spalte kann einen der folgenden Datentypen haben (die in Abb. A alle verwendet wurden):

DATENUMBERBOOLEANREALBOOLEANSTRING

 

Spalten stellen die Bedingungen der Regel dar. Der Wert einer Spalte stellt ist die Bedingung Spaltenbedingung in dieser Spalte dar.

Eine Zeile erfüllt die Bedingung in einer Spalte, wenn der ihr Wert in der Zeile in dieser Spalte mit der Spaltenbedingung übereinstimmt.

...

Info

Der Operator * ist immer wahr. Enthält eine Zeile also in einer Spalte den Wert '*', so erfüllt die Zeile die Bedingung dieser Spalte immer, unabhängig von der Spaltenbedingung.

 

Gibt es in der Regel mehrere Spalten, die alle Spaltenbedingungen erfüllen, dann ist die oberste Regel in der Liste die zutreffende Regel

und ihr Rückgabewert der Wert der Regel. Alle danach kommenden Zeilen werden nicht beachtet.

(Das ist auch in Abb. A der Fall, denn Zeile #4 erfüllt ebenfalls alle Spaltenbedingungen, Zeile #3 steht jedoch weiter oben).

Nachfolgend ist dargestellt, wie der Wert einer Regel bestimmt wird:

 

Image Added
Abbildung B: Durchlauf Wertbestimmung der Regel

 

Die Regel in Abb. B hat 3 Spalten und 3 Zeilen. Jede Spalte definiert eine Bedingung, jede Zeile einen Wert pro Spalte.

Die Prüfung beginnt in Zeile 1, Spalte 1. Ist der Wert von Zeile 1 in Spalte 1 identisch zur Spaltenbedingung,

wird mit der Prüfung von Spalte 2 in Zeile 1 fortgefahren. Ist der Wert von Zeile 1 in Spalte 2 wieder identisch zur Spaltenbedingung der 2. Spalte,

wird mit der Prüfung von Spalte 3 in Zeile 1 fortgefahren. Ist auch der Wert von Zeile 1 in Spalte 3 identisch zur Spaltenbedingung,

trifft die gesamte Zeile zu und der Rückgabewert der Zeile ist der Wert der Regel (grüne Pfeile).

Hat eine der Spalten in Zeile 1 einen anderen Wert als die zugehörige Spaltenbedingung, trifft also nicht auf die Bedingung zu, wird die Prüfung der Zeile abgebrochen

und mit der Prüfung der nächsten Zeile fortgefahren. Dort wird dann wieder in der 1. Spalte begonnen. Wurden alle Zeilen geprüft und keine davon erfüllt alle Spaltenbedingungen,

ist der Wert der Regel undefiniert, da kein Rückgabewert ausgewählt werden kann (rote Pfeile).

 

In Abb. A ist der Verlauf folgendermaßen:

Image Added
Abbildung C: Wertfindung bei Abb. A