Altova MapForce 2026 Enterprise Edition

Une table de décision est un ensemble de règles qui évaluent une ou plusieurs conditions d'entrée et fournissent la ou les valeurs de sortie correspondantes. Une table de décision présente les caractéristiques suivantes :

 

Chaque ligne d'une table de décision représente une règle.

Chaque règle comprend des conditions (entrées) et des actions (sorties).

Si toutes les conditions d'entrée d'une règle sont vraies, l'action correspondante sera exécutée si elle satisfait à la politique de correspondance.

Pour chaque table de décision, il existe une politique de correspondance qui définit la ou les règles mises en œuvre et les sorties générées. Pour plus de détails, voir Politique de correspondance ci-dessous.

 

Les tables de décision sont couramment utilisées dans les systèmes d'automatisation des processus et de gestion des décisions pour :

 

Simplifier la logique décisionnelle complexe en la décomposant en règles gérables

Garantir la cohérence entre différents scénarios à l'aide d'un ensemble de règles centralisé

Permettre aux utilisateurs non techniques de définir et de gérer la logique sans codage

 

Comment ajouter une table de décision à un mappage

Pour ajouter un composant de table de décision à un mappage, suivez l'une des étapes ci-dessous :

 

Cliquez sur l'élément de menu Insérer | Table de décision.

Cliquez sur la commande ic-DecisionTable de la barre d’outils.

Sélectionnez le composant Table de décision dans l'onglet Traitement de la galerie de composants (accessible via la commande de la barre d'outils ic-AddCompFromGallery).

 

Après avoir suivi l'une des étapes ci-dessus, un composant Table de décision apparaît dans le mappage (capture d'écran ci-dessous).

MF_DecisionTableComponent

 

Structure d'une table de décision

Un double-clic sur l'en-tête d'un tableau de décision ouvre les propriétés de ce composant (capture d'écran ci-dessous). Le dialogue est organisé comme suit :

 

La première moitié du dialogue Propriétés de table de décision décrit la syntaxe et fournit des exemples de différentes conditions (bouton Afficher/Masquer les conditions d'exemple).

La seconde moitié du dialogue vous permet de configurer les valeurs d'entrée et de sortie qui constitueront les règles.

mf_decisiontableproperties_zoom60

Définir les entrées/sorties

Par défaut, il y a une colonne d'entrée et une colonne de sortie. Pour ajouter d'autres entrées et/ou sorties :

 

1.Revenez au composant Table de décision et cliquez sur l'icône correspondante ( gui_add_function_parameter ).

2.Modifiez les entrées/sorties nouvellement créées selon vos besoins dans le dialogue Propriétés de table de décision.

 

Pour chaque entrée et sortie, définissez un type de données approprié, ce que vous pouvez faire via la liste déroulante d'une entrée/sortie (capture d'écran ci-dessous). Vous pouvez également renommer n'importe quelle colonne en cliquant sur l'icône en forme de crayon ou en double-cliquant sur l'en-tête de colonne correspondant. Pour ajouter ou modifier une valeur, double-cliquez sur la cellule correspondante et entrez la valeur.

 

Menu contextuel des cellules de sortie

Cliquez avec le bouton droit sur une cellule de la colonne de sortie (Discount dans notre cas) pour ouvrir le menu contextuel de la cellule (capture d'écran ci-dessous). Ce menu vous permet de :

 

Saisir une valeur fixe dans une cellule de sortie (valeur littérale)

Définir une valeur de sortie sur null

Transférer des valeurs à partir de colonnes d'entrée existantes si les types de données sont compatibles

MF_DecisionTableContextMenu

 

Boutons de gestion des données du tableau

Les boutons indiqués dans le tableau ci-dessous vous permettent de gérer les données du tableau.

 

Bouton

Description

ic-InsertRow

Insère une ligne au-dessus de la ligne sélectionnée.

ic-DeleteRow

Supprime définitivement la ligne sélectionnée.

ic-undo

Annule l'action précédente.

ic-redo2

Restaure la dernière action annulée.

ic-Cut

Supprime la ligne sélectionnée et la copie dans le presse-papiers.

ic-Copy

Copie la ou les cellules sélectionnées dans le presse-papiers.

ic-PasteTable

Colle le tableau copié à partir du presse-papiers.

 

Politique de correspondance

La politique de correspondance détermine comment traiter les entrées qui correspondent à plusieurs règles et spécifie les sorties à renvoyer.

 

Première règle correspondante

La politique de première règle correspondante signifie ce qui suit :

 

La table de décision évalue les règles de haut en bas.

Seule la première règle correspondante est exécutée.

Toutes les règles correspondantes suivantes sont ignorées.

 

Cette politique est utile lorsque les règles s'excluent mutuellement ou lorsque la priorité est importante.

 

 

Toutes les règles correspondantes

La politique de toutes les règles correspondantes fonctionne comme suit :

 

La table de décision évalue toutes les règles.

Chaque règle correspondante est exécutée et les résultats sont renvoyés sous forme de séquence.

 

Cette politique est utile lorsque plusieurs règles doivent s'appliquer simultanément.

 

 

Exemple

Une banque souhaite déterminer les avantages à accorder à un demandeur de prêt en fonction de deux conditions :

 

Cote de crédit

Niveau de revenu

 

Les règles sont les suivantes :

 

Cote de crédit

Niveau de revenu

Action

≥ 750

≥ 50 000

Taux d'intérêt réduit

≥ 700

≥ 40 000

Limite de prêt plus élevée

≥ 650

≥ 30 000

Prime en espèces

 

Par exemple, un client a une cote de crédit de 760 et un revenu de 60 000.

 

Première règle de correspondance

Les règles sont évaluées de haut en bas.

Seule la règle 1 s'applique : Taux d'intérêt réduit.

 

Toutes les règles de correspondance

Toutes les règles qui correspondent aux conditions s'appliquent.

Les informations du client correspondent à toutes les règles.

Le résultat comprend la séquence suivante : Taux d'intérêt réduit, limite de prêt plus élevée, prime en espèces.

 

Scénario d'utilisation : Règles de remise client

L'exemple décrit dans cette sous-section montre comment une entreprise de vente au détail applique des remises en fonction du type de client et du montant des achats.

 

Mappage

Nous avons créé le mappage ci-dessous pour illustrer l'utilisation du composant Table de décision.

MF_OrderDiscountsMapping

Source

Le composant source est un fichier CSV qui contient une liste des détails de la commande :

 

order_id,customer_id,customer_type,purchase_amount

ORD-1001,CUST-501,VIP,600.00

ORD-1002,CUST-502,Régulier,450,00

ORD-1003,CUST-503,Nouveau client,250,00

ORD-1004,CUST-504,VIP,180,00

ORD-1005,CUST-505,Régulier,520,00

ORD-1006,CUST-506,Nouveau client,150,00

 

Table de décision

La table de décision applique des règles de remise en fonction de customer_type et de purchase_amount. La capture d'écran ci-dessous illustre la manière dont les règles de remise ont été définies dans le tableau de décision. La politique de correspondance est définie sur Première règle correspondante. Le signe « - » représente n'importe quelle valeur.

MF_OrderDiscountsDecisionTable

Les règles sont évaluées comme suit :

 

Si le montant des achats d'un client VIP est supérieur ou égal à 500, ce client bénéficie d'une remise de 30 %.

Si le montant des achats d'un client est supérieur ou égal à 500, ce client bénéficie d'une remise de 20 %.

Si le montant des achats d'un client VIP est supérieur ou égal à 300, ce client bénéficie d'une remise de 20 %.

Si le montant des achats d'un client est supérieur ou égal à 300, ce client bénéficie d'une remise de 10 %.

Si aucune des règles ci-dessus ne s'applique, la valeur nulle est affichée.

 

Cible

Le composant cible est une base de données SQLite nommée Orders qui stocke les informations relatives aux commandes des clients. Chaque ligne représente une seule commande et contient l'identifiant de la commande, le client, le type de client, le montant de l'achat et la remise applicable. Le champ discount_percentage est nullable, stocke la remise calculée par le tableau de décision et représente le pourcentage du montant de l'achat à déduire pour la commande.

 

Sortie

Après avoir exécuté le mappage et écrit les données dans la base de données, nous obtenons le résultat suivant :

MF_OrderDiscountsOutput

Étant donné que les commandes 1003, 1004 et 1006 ne répondent à aucune condition d'entrée dans le tableau de décision, les valeurs discount_percentage pour ces commandes ont été définies sur null.

 

© 2019-2025 Altova GmbH