Lignes et cellules
Dans une table de décision, les valeurs des cellules d'une ligne définissent les conditions et les actions d'une règle.
Vous créez une règle en ajoutant une ligne à une table et en entrant des valeurs dans les cellules pour des conditions et des actions. Lorsque vous exécutez les règles dans une table de décision, le moteur de décision exécute généralement les règles ligne par ligne, de la première ligne à la dernière ligne. quel que soit le mode d'exécutionRetePlus, séquentiel et Fastpath).
Toutefois, l'ordre d'exécution des règles peut changer si une table de décision comporte une définition liée à la mémoire de travail ou à un générateur. Pour Fastpath et séquentiel, le moteur de décision exécute d'abord toutes les lignes du premier objet de la mémoire de travail, puis passe à l'objet suivant. Avec RetePlus, le moteur exécute toutes les lignes de tous les objets triés par numéro de ligne, de la ligne 1 vers le bas.
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | A | 100.000 | 300 000 | true | 0.001 |
| 2 | A | 300 000 | 600 000 | true | 0.003 |
| 3 | B | 600 000 | 900 000 | true | 0.005 |
Partitions
Vous pouvez regrouper un ensemble de lignes consécutives ayant la même valeur pour une certaine condition. Ici, les cellules situées à droite des valeurs regroupées font partie de la même partition. Toutes les cellules de la première colonne de la table appartiennent par défaut à la même partition.
Dans Rule Designer, vous regroupez les cellules en les fusionnant.
Dans la table suivante, les cellules de Note A des lignes 1 et 2 sont regroupées en une seule cellule. En conséquence, les cellules qui correspondent au montant du prêt font partie de la même partition.
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | A | 100.000 | 300 000 | true | 0.001 |
| 2 | 300 000 | 600 000 | true | 0.003 | |
Vous lisez les deux règles comme suit :
Règle 1
si all of the following conditions are true: - the loan grade is A - the amount of loan is between 100000 and 300000 alors - set the insurance required to true - set the loan rate to 0.001Règle 2
si all of the following conditions are true: - the loan grade is A - the amount of loan is between 300000 and 600000 alors - set the insurance that is required to true - set the loan rate to 0.003
Une partition ne peut pas être déduite du seul fait que des lignes ont la même valeur. Dans la table suivante, nous avons ajouté une ligne ayant la même valeur pour la note que les autres lignes. Comme sa valeur pour la note n'est pas regroupée avec les autres, elle crée une nouvelle partition pour le montant du prêt et la partition existante reste la même.
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | A | 50 000 | 100.000 | faux | 0.001 |
| 2 | A | 100.000 | 300 000 | true | 0.001 |
| 3 | 300 000 | 600 000 | true | 0.003 | |
L'exemple suivant montre une table plus grande avec plusieurs partitions. CellulesAetBvia l'outilGradechaque colonne a une partition de cellules dans laAmount of loanrespectives. Cela signifie que si une demande de prêt a la note A, une des règles 1 à 4 pourra s'appliquer en fonction du montant du prêt. Ici, par exemple, les valeurs possibles pour le montant sont partitionnées en les plages suivantes : inférieur ou égal à 100000, de 100000 à 300000, de 300000 à 600000, et plus de 600000. Ces plages sont testées dans les cellules situées à droite de la note A.
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | A | < 100 000 | faux | ||
| 2 | 100.000 | 300 000 | true | 0.001 | |
| 3 | 300 000 | 600 000 | true | 0.003 | |
| 4 | ≥ 600 000 | true | 0.005 | ||
| 5 | B | < 100 000 | faux | ||
| 6 | 100.000 | 300 000 | true | 0.0025 | |
| 7 | 300 000 | 600 000 | true | 0.005 | |
| 8 | 600 000 | 800 000 | |||
| 9 | ≥ 600 000 | true | 0.0075 | ||
Chaque ligne numérotée de la table forme encore une règle. Le partitionnement vous aide à comparer des règles avec des conditions similaires et à trouver les chevauchements et les écarts entre des valeurs des règles.
Dans les colonnes de condition, pour certaines cellules, vous pouvez changer l'opérateur. La colonne peut être définie avec un opérateur is between <min> and <max> , que vous utilisez pour la plupart des lignes, et vous pouvez remplacer cet opérateur pour la dernière ligne d'une partition afin de faire correspondre toutes les valeurs restantes avec un opérateur more than <min> . Comme ces opérateurs ne fonctionnent pas avec le même nombre de paramètres (opérandes),
la colonne peut alors comporter un nombre différent de sous-colonnes, selon la ligne.
Cellules vides
Une ligne peut contenir des cellules vides. Si une cellule vide est dans une colonne de condition et qu'il y a au moins une condition sur la ligne, la condition associée à la cellule vide est ignorée. C'est la cellule ou la partition suivante à droite, le cas échéant, qui est évaluée. Si une ligne ne contient que des cellules vides dans les colonnes de condition, la règle n'est pas applicable et toute la ligne est ignorée, même s'il y a des actions dans les colonnes d'action.
- Sur la ligne 3, la décision est basée sur la note et sur la durée du prêt. Le montant du prêt est ignoré.
- Sur la ligne 4, la décision est basée uniquement sur la note.
- La ligne 5 est ignorée car elle ne contient aucune condition.
| Niveau | Montant du prêt | Durée du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|---|
| Min. | Maxi | |||||
| 1 | A | 100.000 | 300 000 | 12 | true | 0.001 |
| 2 | A | 300 000 | 600 000 | 24 | true | 0.003 |
| 3 | A | 12 | true | 0.008 | ||
| 4 | B | true | 0.004 | |||
| 5 | faux | 0.005 | ||||
Si une cellule vide est dans une colonne d'action, l'action de la cellule est ignorée. Dans la table suivante, la première règle ne définit pas de taux d'assurance.
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | A | < 100 000 | faux | ||
| 2 | 100.000 | 300 000 | true | 0.001 | |
| 3 | 300 000 | 600 000 | true | 0.003 | |
| 4 | ≥ 600 000 | true | 0.004 | ||
Cellules Sinon
Vous pouvez utiliser unOtherwisepour collecter toutes les valeurs qui ne sont pas déjà couvertes dans une partition.
Le comportement des cellules Sinon peut changer en présence de cellules vides. L'utilisation à la fois de cellules Sinon et vides dans une même partition n'est pas recommandé car cela peut créer des chevauchements et rendre la table difficile à comprendre.
- Si une partition contient une cellule Sinon et des cellules avec une valeur, la cellule Sinon s'applique aux valeurs qui ne sont pas déjà couvertes par les autres cellules de la partition.
- Si une partition contient une cellule vide, des cellules vides et des cellules avec des valeurs, les lignes avec des cellules vides avant la première valeur sont évaluées en premier, toutes les cellules avec des valeurs en second, puis la cellule vide est évaluée. Enfin, les lignes vides après la première cellule avec une valeur sont évaluées après le else.
- Si une partition contient uniquement une cellule Sinon, sans aucune autre cellule, la cellule Sinon est sans objet et est ignorée.
- Si une partition contient une cellule Sinon et que toutes ses autres cellules sont vides, la cellule Sinon est sans objet et est ignorée.
Dans le tableau suivant, leOtherwiseLa cellule collecte toutes les valeurs avant 100000 et après 600000:
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | A | 100.000 | 300 000 | true | 0.001 |
| 2 | 300 000 | 600 000 | true | 0.003 | |
| 3 | Sinon | true | 0.004 | ||
Les trois règles se lisent comme suit :
Règle 1
si all of the following conditions are true: - the loan grade is A - the amount of loan is between 100000 and 300000 alors - set the insurance required to true - set the loan rate to 0.001Règle 2
si all of the following conditions are true: - the loan grade is A - the amount of loan is between 300000 and 600000 alors - set the insurance that is required to true - set the loan rate to 0.003Règle 3
si all of the following conditions are true: - the loan grade is A - it is not true that the amount of loan is between 300000 and 600000 alors - set the insurance that is required to true -définissez le taux de prêt sur 0.004
La troisième ligne est la dernière ligne appliquée. Si les lignes 1 et 2 ne correspondent pas aux conditions, la troisième règle est exécutée et le taux de l'assurance est défini sur 0.004.
Sinon, avec des cellules vides
Cette section contient deux tableaux avec le même contenu pour montrer l'ordre dans lequel les lignes sont évaluées.
Dans le premier tableau, la colonne Grade contient un mélange de lignes qui ne contiennent rien (vides), des valeurs et la condition Otherwise :
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | ≤ 50 000 | faux | ⊘ | ||
| 2 | A | < 100 000 | faux | ⊘ | |
| 3 | A | 100.000 | 300 000 | true | 0.001 |
| 4 | A | 300 000 | 600 000 | true | 0.003 |
| 5 | B | < 100 000 | faux | ⊘ | |
| 6 | B | 100.000 | 300 000 | true | 0.003 |
| 7 | B | 300 000 | 600 000 | true | 0.005 |
| 8 | ≥600 000 | true | 0.008 | ||
| 9 | Sinon | 100.000 | 300 000 | true | 0.05 |
| 10 | Sinon | 300 000 | 600 000 | true | 0.07 |
| 11 | C | < 100 000 | true | 0.004 | |
| 12 | C | 100.000 | 300 000 | true | 0.006 |
| 13 | C | 300 000 | 600 000 | true | 0.006 |
| 14 | C | ≥600 000 | true | 0.015 | |
| 30 | ≥600 000 | true | 0.016 | ||
- La ligne 1, qui est vide. Les lignes vides précédant la première ligne avec une valeur sont évaluées en premier.
- Les rangs 2 à 7 et les rangs 11 à 14, qui contiennent les valeurs A, B et C®.
- Les lignes 9 et 10, qui contiennent la condition Otherwise.
- Les lignes 8 et 15, qui sont vides. Ils sont évalués après les lignes avec des valeurs dans leur ordre d'apparition, donc la ligne 8 avant la ligne 15.
Le tableau suivant montre l'ordre dans lequel les lignes du tableau 1 sont évaluées :
| Niveau | Montant du prêt | Assurance obligatoire | Taux d'assurance | ||
|---|---|---|---|---|---|
| Min. | Maxi | ||||
| 1 | ≤ 50 000 | faux | ⊘ | ||
| 2 | A | < 100 000 | faux | ⊘ | |
| 3 | A | 100.000 | 300 000 | true | 0.001 |
| 4 | A | 300 000 | 600 000 | true | 0.003 |
| 5 | B | < 100 000 | faux | ⊘ | |
| 6 | B | 100.000 | 300 000 | true | 0.003 |
| 7 | B | 300 000 | 600 000 | true | 0.005 |
| 11 | C | < 100 000 | true | 0.004 | |
| 12 | C | 100.000 | 300 000 | true | 0.006 |
| 13 | C | 300 000 | 600 000 | true | 0.006 |
| 14 | C | ≥600 000 | true | 0.015 | |
| 9 | Sinon | 100.000 | 300 000 | true | 0.05 |
| 10 | Sinon | 300 000 | 600 000 | true | 0.07 |
| 8 | ≥600 000 | true | 0.008 | ||
| 15 | ≥600 000 | true | 0.016 | ||