Tables de décision
Si vous posez des questions fermées oui/non lorsque vous utilisez un processus de décision automatisé, par exemple « Ce bon de commande nécessite-t-il une autorisation supplémentaire ? », la « règle When » suffit. En revanche, si vous devez tester les valeurs de plusieurs propriétés pour répondre à des questions du style « Quelle offre promotionnelle l'entreprise doit-elle proposer ? », mieux vaut utiliser une table de décision (Decision table).
Vous pouvez, par exemple, configurer une table de décision pour déterminer les remises à accorder aux clients en fonction de différents seuils d’achat. Avec une table de décision, les clients qui ont acheté pour plus de 1 000 USD au cours de l’année précédente et sont clients depuis plus de cinq ans bénéficient d’une remise de 20 % pour les achats supérieurs à 50 USD. Les clients qui achètent pour plus de 1 000 USD, mais sont clients depuis moins de cinq ans peuvent prétendre à une remise de 15 % pour les achats supérieurs à 100 USD. Les clients qui ne remplissent aucune des deux conditions n’ont droit à aucune remise.
La vidéo suivante décrit la structure d’une table de décision et explique comment évaluer les informations.
Transcription
Une table de décision se compose d’une table de conditions et de résultats. Vous définissez un ensemble de conditions - par exemple, des valeurs de propriété qui doivent être comprises dans une certaine plage - et les résultats à renvoyer lorsque les conditions sont vraies. Chaque ensemble de conditions contient un résultat correspondant. Vous pouvez ajouter des colonnes pour chaque condition que vous souhaitez tester - soit une référence de propriété soit une expression - ainsi que des lignes pour chaque combinaison de conditions que vous souhaitez tester.
Lorsque le système évalue une table de décision, il commence par la première ligne et évalue chaque condition de la ligne. Si toutes les conditions sont vraies, le système renvoie le résultat pour cette ligne. Sinon, il passe à la ligne suivante et évalue les conditions de cette ligne. Si aucune des combinaisons ne renvoie un résultat, le système renvoie le résultat « otherwise » en bas de la table. Cela garantit que la décision renvoie toujours un résultat.
La vidéo est terminée.
Vérifiez vos connaissances avec l’interaction suivante :
Logique de la table de décision
Les tables de décision sont idéales lorsque vous définissez un ensemble de propriétés ou d’expressions pour arriver à une décision.
Dans l’exemple suivant, une application bancaire s’appuie sur une table de décision pour déterminer les frais de gestion mensuels. Pour déterminer le montant correct, la table de décision compare les valeurs des propriétés Account type et Customer type de la table aux valeurs saisies.
La table affiche sur des lignes le montant correct évalué pour chaque combinaison. Par exemple, pour un compte Checking et un client Basic, le système renvoie une valeur de 10 dollars.
L’exemple suivant montre comment se fait l’évaluation de la décision en fonction du type de compte et du type de client.
Par défaut, une condition utilise un opérateur de comparaison égal (comme dans l’exemple précédent). Si vous utilisez des conditions numériques, vous pouvez également spécifier des opérateurs de comparaison supérieur à ou inférieur à. Par exemple, vous pouvez créer une condition de façon à ce qu’aucuns frais ne soient facturés au client si le solde du compte d’épargne est supérieur à 1 000 USD. Vous pouvez également utiliser une plage de valeurs pour définir la comparaison. Par exemple, si le solde du compte d’épargne est compris entre 500 et 1 000 USD, les frais de gestion ne seront facturés que pour le compte courant.
Tables de décision dans App Studio
Vous pouvez configurer des champs calculés (calculated fields) en utilisant des fonctions de base prêtes à l'emploi et des expressions personnalisées (custom Expressions) simples dans App Studio. Par exemple, pour une épicerie en ligne, vous pouvez utiliser une expression pour multiplier la quantité par le prix unitaire afin de calculer le coût total d'un article.
Pour les calculs complexes qui reposent sur plusieurs conditions avec des résultats variables en fonction des conditions, vous pouvez configurer un champ calculé qui renvoie à une table de décision existante ou personnalisée.
Note: Les tables de décision complexes qui sont préconfigurées dans Dev Studio et marquées comme enregistrements pertinents (relevant records) sont accessibles aux citizen developers depuis App Studio.
Prenons l'exemple d'YPlus, une entreprise de transport qui facture des frais de livraison de 500 USD pour ses services de coursier. YPlus a décidé de modifier le calcul des frais de livraison en fonction de la distance parcourue. Supposons que l'adresse de livraison se trouve dans un rayon de 160 km. Dans ce cas, les frais de livraison sont fixés à 50 dollars. Si l'adresse se trouve dans un rayon de 800 km, les frais de livraison sont de 100 dollars. Si l'adresse est située dans un rayon de 1 600 km, les frais de livraison sont de 250 dollars, et si l'adresse de livraison est située à plus de 1 600 km, les frais de livraison s'élèvent à 500 dollars. Vous configurez un champ calculé qui renvoie à la table de décision décrite ci-dessous pour déterminer les frais de livraison.
Dans l’image suivante, cliquez sur les icônes + pour savoir comment configurer une table de décision afin d’obtenir le résultat escompté pour l’exemple de cette entreprise de transport :
Vérifiez vos connaissances avec l’interaction suivante :
This Topic is available in the following Module:
If you are having problems with your training, please review the Pega Academy Support FAQs.
Want to help us improve this content?