Entscheidungstabellen
Bei einer Entscheidungstabelle handelt es sich um eine Reihe von Regeln, anhand derer eine oder mehrere Input-Bedingungen ausgewertet werden und den/die entsprechenden Ausgabewert(e) liefern. Eine Entscheidungstabelle hat die folgenden Eigenschaften:
•Jede Zeile in einer Entscheidungstabelle repräsentiert eine Regel.
•Eine Regel besteht aus Bedingungen (Inputs) und Aktionen (Outputs).
•Wenn alle Input-Bedingungen einer Regel "true" sind, wird die entsprechende Aktion durchgeführt, falls sie der Hit Policy entspricht.
•Es gibt für jede Entscheidungstabelle eine Hit Policy, in der definiert ist, welche Regel(n) implementiert werden und welche Outputs generiert werden. Nähere Informationen dazu finden Sie unter Hit Policy weiter unten.
Entscheidungstabellen werden häufig in Prozessautomatisierungs- und Entscheidungsmanagementsystemen verwendet und haben folgende Aufgaben:
•Vereinfachung komplexer Entscheidungslogik durch Aufteilung in überschaubare Regeln
•Sicherstellung der Konsistenz in verschiedenen Szenarien durch Verwendung eines zentralisierten Regelwerks
•Technisch nicht versierte Benutzer können mit Hilfe dieser Tabellen Logik definieren und verwalten, ohne Code schreiben zu müssen
So fügen Sie eine Entscheidungstabelle zu einem Mapping hinzu
Um eine Entscheidungstabellenkomponente zu einem Mapping hinzuzufügen, wählen Sie eine der unten angeführten Methoden:
•Klicken Sie auf den Menübefehl Einfügen | Entscheidungstabelle.
•Klicken Sie auf die Symbolleisten-Schaltfläche .
•Wählen Sie die Komponente "Entscheidungstabelle" auf dem Register "Verarbeitung" der Komponentengalerie aus (über den Symbolleisten-Befehl ).
Nachdem Sie einen der obigen Schritte durchgeführt haben, wird die Komponente "Entscheidungstabelle" im Mapping angezeigt (Abbildung unten).

Struktur einer Entscheidungstabelle
Durch Doppelklick auf die Überschrift einer Entscheidungstabelle rufen Sie die Eigenschaften dieser Komponente auf (Abbildung unten). Dieses Dialogfeld ist folgendermaßen gegliedert:
•In der oberen Hälfte des Dialogfelds Entscheidungstabelle - Eigenschaften wird die Syntax beschrieben und Sie können Beispiele für verschiedene Bedingungen anzeigen (Schaltfläche Beispiele anzeigen/ausblenden).
•In der unteren Hälfte des Dialogfelds können Sie Input- und Output-Werte konfigurieren, die die Regeln darstellen.
Definieren von Inputs/Outputs
Standardmäßig enthält das Dialogfeld eine Input- und eine Output-Spalte. So fügen Sie weitere Inputs und/oder Outputs hinzu:
1.Kehren Sie zurück zur Komponente "Entscheidungstabelle" und klicken Sie auf das entsprechende ( ) Symbol.
2.Bearbeiten Sie den neu erstellten Input/Output wie gewünscht im Dialogfeld Entscheidungstabelle - Eigenschaften.
Konfigurieren Sie für jeden Input und Output über die dazugehörige Dropdown-Liste den entsprechenden Datentyp (Abbildung unten). Sie können alle Spalten auch umbenennen. Klicken Sie dazu auf das Bleistift-Symbol oder doppelklicken Sie auf die jeweilige Spaltenüberschrift. Um einen Wert hinzuzufügen oder zu bearbeiten, doppelklicken Sie auf die entsprechende Zelle und und geben Sie den Wert ein.
Kontextmenü von Output-Zellen
Wenn Sie mit der rechten Maustaste in der Spalte "Output" auf eine Zelle klicken (in unserem Fall Discount), wird das Kontextmenü der Zelle aufgerufen (Abbildung unten). Über dieses Menü können Sie:
•einen festen Wert (Literalwert) in eine Output-Zelle eingeben
•einen Output-Wert auf Null setzen
•Werte aus vorhandenen Input-Spalten übergeben, wenn die Datentypen kompatibel sind

Schaltflächen zum Verwalten der Tabellendaten
Mit Hilfe der Schaltflächen in der Tabelle unten können Sie Tabellendaten verwalten.
Schaltfläche | Beschreibung |
---|---|
![]() | Fügt eine Zeile oberhalb der ausgewählten Zeile ein. |
![]() | Löscht die ausgewählte Zeile endgültig. |
![]() | Macht die vorhergehende Aktion rückgängig. |
![]() | Stellt die zuletzt rückgängig gemachte Aktion wieder her. |
![]() | Löscht die ausgewählte Zeile und kopiert sie in die Zwischenablage. |
![]() | Kopiert die ausgewählte(n) Zelle(n) in die Zwischenablage. |
![]() | Fügt die kopierte Tabelle aus der Zwischenablage ein. |
Hit Policy
Mit der Hit Policy wird festgelegt, wie Inputs, auf die mehrere Regeln zutreffen, behandelt werden und welche Outputs zurückgegeben werden sollen.
Erste zutreffende Regel
Die Anwendungsregel: Erste zutreffende Regel bedeutet Folgendes:
•In der Entscheidungstabelle werden die Regeln von oben nach unten ausgewertet.
•Nur die erste zutreffende Regel wird ausgeführt.
•Alle darauf folgenden zutreffenden Regeln werden ignoriert.
Diese Anwendungsregel ist dann nützlich, wenn Regeln einander gegenseitig ausschließen oder wenn die Priorität eine Rolle spielt.
Alle zutreffenden Regeln
Die Anwendungsregel "Erste zutreffende Regel" bedeutet Folgendes:
•In der Entscheidungstabelle werden alle Regeln ausgewertet.
•Jede zutreffende Regel wird ausgeführt und die Outpus werden als Sequenz zurückgegeben.
Diese Anwendungsregel ist nützlich, wenn gleichzeitig mehrere Regeln angewendet werden sollen.
Beispiel
Eine Bank möchte entscheiden, welche Vergünstigungen ein Kreditnehmer auf Basis von zwei Bedingungen erhalten soll:
•Bonität
•Einkommensklasse
Die Regeln werden folgendermaßen ausgewertet:
Bonität | Einkommensklasse | Aktion |
---|---|---|
≥ 750 | ≥ 50.000 | Niedrigerer Zinssatz |
≥ 700 | ≥ 40.000 | Höheres Kreditlimit |
≥ 650 | ≥ 30.000 | Bargeldbonus |
Angenommen, ein Kunde hat eine Bonität von 760 und ein Einkommen von 60.000.
Erste zutreffende Regel
•Die Regeln werden von oben nach unten ausgewertet.
•Es trifft nur Regel 1 zu: Niedrigerer Zinssatz.
Alle zutreffenden Regeln
•Es treffen alle Regeln, die den Bedingungen entsprechen, zu.
•Die Kundendaten entsprechen allen Regeln.
•Die Ausgabe enthält die folgende Sequenz: Niedrigerer Zinssatz, Höheres Kreditlimit, Bargeldbonus.
Anwendungsfallszenario: Regel für Kundenrabatte
In dem Beispiel in diesem Unterabschnitt wird gezeigt, wie ein Handelsunternehmen Rabatte auf Basis des Kundentyps und der Kaufsumme gewährt.
Mapping
Wir haben unten ein Mapping zur Demonstration der Verwendung der Komponente "Entscheidungstabelle" erstellt.

Quelle
Die Quellkomponente ist eine CSV-Datei, die eine Liste von Bestelldetails enthält:
order_id,customer_id,customer_type,purchase_amount ORD-1001,CUST-501,VIP,600.00 ORD-1002,CUST-502,Regular,450.00 ORD-1003,CUST-503,New Customer,250.00 ORD-1004,CUST-504,VIP,180.00 ORD-1005,CUST-505,Regular,520.00 ORD-1006,CUST-506,New Customer,150.00 |
Entscheidungstabelle
Anhand der Entscheidungstabelle werden Rabattregeln auf Basis von customer_type (Kundentyp) und purchase_amount (Kaufsumme) angewendet. In der Abbildung unten sehen Sie, wie die Rabattregeln in der Entscheidungstabelle definiert wurden. Als Hit Policy wurde Erste zutreffende Regel ausgewählt. Das Zeichen "-" steht für jeden beliebigen Wert.

Die Regeln werden folgendermaßen ausgewertet:
•Wenn die Kaufsumme eines VIP-Kunden 500 oder höher ist, erhält dieser Kunde einen 30 %-Rabatt.
•Wenn die Kaufsumme eines VIP-Kunden 500 oder höher ist, erhält dieser Kunde einen 20 %-Rabatt.
•Wenn die Kaufsumme eines VIP-Kunden 300 oder höher ist, erhält dieser Kunde einen 20 %-Rabatt.
•Wenn die Kaufsumme eines VIP-Kunden 300 oder höher ist, erhält dieser Kunde einen 10 %-Rabatt.
•Wenn keiner der obigen Regeln zutrifft, ist die Ausgabe der Nullwert.
Ziel
Die Zielkomponente ist eine SQLite-Datenbank namens Orders, in der Daten über Kundenbestellungen gespeichert sind. Jede Zeile repräsentiert eine einzige Bestellung und enthält die Bestell-ID, den Kunden, den Kundentyp, die Kaufsumme und den anwendbaren Rabatt. Das Feld discount_percentage kann auf Null gesetzt werden, enthält den von der Entscheidungstabelle berechneten Rabatt und stellt den von der Bestellung abzuziehenden Rabatt in Prozent dar.
Ausgabe
Nach Ausführung des Mappings und nachdem die Daten in die Datenbank geschrieben wurden, erhalten wir die folgende Ausgabe:

Da auf die Bestellungen 1003, 2004 und 1006 keine Input-Bedingungen in der Entscheidungstabelle zutreffen, wurden die discount_percentage-Werte für diese Bestellungen auf Null gesetzt.