Découvrir des scénarios métier pour les fonctions Power Fx
Après avoir découvert les principes fondamentaux de la création de fonctions Power Fx, vous pouvez explorer certaines applications réelles. Dans cette unité, vous allez explorer des scénarios métier pratiques et observer comment les fonctions Power Fx vous permettent de rationaliser la logique, de gagner en efficacité et d’améliorer l’expérience utilisateur.
Exemple : appliquer des codes de remise lors du paiement
Dans cet exemple, vous travaillez pour un société qui vend des billets d’événement et qui souhaite offrir des codes de remise lors du paiement. La société doit s’assurer que la remise est valide selon ces critères :
- Le code n’a pas expiré
- L’événement permet de bénéficier de remises
- L’utilisateur n’a pas encore utilisé ce code
De plus, vous souhaitez une validation en temps réel afin que le système applique la remise instantanément avant la finalisation de la commande.
Pour ce faire, vous devez d’abord configurer les tables nécessaires :
- Discount Code : stocke les codes, les dates d’expiration et les pourcentages de remise.
- Event : comporte un indicateur de validation pour déterminer les événements éligibles.
- User/Purchases : suit l’historique des achats, y compris les codes de remise appliqués.
Lors de la création de votre fonction, utilisez les paramètres suivants :
Paramètres d’entrée :
- DiscountCode (chaîne)
- EventID (chaîne)
- UserLogin (chaîne)
- Amount (décimal)
Paramètre de sortie : TotalAmount (décimal)
L’exemple suivant montre comment votre fonction Power Fx peut s’afficher :
{TotalAmount:
If(LookUp(Discount Codes, ‘Code'=DiscountCode).'Expiration Date'>Today() And LookUp(Events, ‘Event ID' = EventID).'Validation'=true And ForAll(LookUp(Purchases, ‘User'=UserLogin).'Discount Code Applied'<>DiscountCode, (Amount-Amount*.20), Amount)
}
Avec cette fonction, vous créez une solution flexible et réutilisable qui fonctionne pour tout code de remise ou événement du jeu de données. De plus, vous pouvez l’utiliser dans plusieurs applications, qu’il s’agisse d’une application mobile ou d’une application de bureau, en transmettant les paramètres requis et en utilisant la valeur renvoyée.
Exemple : appliquer automatiquement la livraison gratuite
Dans ce scénario d’e-commerce courant, votre société souhaite offrir la livraison gratuite lorsqu’une commande atteint un montant spécifique. Vous pouvez créer une fonction qui vérifie le sous-total de la commande, puis détermine s’il faut appliquer la remise ou non.
Pour ce faire, vous avez besoin des tables suivantes :
- Discount Code : stocke les codes et les dates d’expiration.
- Items : comporte les détails des produits, y compris le coût.
Vous avez également besoin des paramètres suivants :
Paramètre d’entrée : Subtotal (décimal)
Paramètre de sortie : CodeStatus (booléen)
La fonction doit s’exécuter chaque fois que quelqu’un ajoute un article au panier pour évaluer si la commande permet de bénéficier de la livraison gratuite ou non.
La fonction Power Fx de ce scénario peut ressembler à l’exemple suivant :
{CodeStatus:
If(LookUp('Discount Codes','Discount Code'="FREEDEL").'Exp Date'>Now() And Subtotal>25, true, false)
}
Cette approche garantit que, lorsqu’un utilisateur atteint le seuil de livraison gratuite, le système applique automatiquement la remise sans qu’il soit nécessaire d’effectuer des étapes supplémentaires et sans interruption pour l’utilisateur.
Exemple : récompenser les voyageurs fréquents
Pour cet exemple, vous travaillez pour un société qui souhaite créer une application de réservation de voyages pour récompenser les clients fidèles. Au lieu d’appliquer la remise en temps réel, vous pouvez l’émettre lors d’occasions spéciales telles que des anniversaires.
Dans ce cas, vous utilisez un flux Power Automate conjointement avec votre fonction Power Fx. Votre fonction doit vérifier si un client a droit a une remise en fonction de son historique.
Pour ce faire, vous avez besoin des tables suivantes :
- Discount Code : stocke les codes, les dates d’expiration et les pourcentages de remise.
- Customer : suit le statut VIP et l’historique des achats.
Vous avez également besoin des paramètres suivants :
Paramètre d’entrée : CustomerNumber (chaîne)
Paramètre de sortie : CodeStatus (booléen)
La fonction Power Fx de ce scénario peut ressembler à l’exemple suivant :
{CodeStatus:
If(LookUp(Customers,'Customer Number'=CustomerNumber).'Paid on time'=true And LookUp(Customers,'Customer Number'=CustomerNumber).'Purchased YTD'>25000, true, false)
}
Ensuite, vous pouvez créer un flux Power Automate planifié pour vérifier les anniversaires des clients, puis leur envoyer une remise s’ils y ont droit. Cette approche ajoute une couche d’automatisation et de personnalisation à l’expérience client.
En structurant votre logique avec des fonctions Power Fx, vous pouvez créer des solutions flexibles et réutilisables qui simplifient les processus dans plusieurs applications et scénarios. Qu’il s’agisse de valider des codes de remise, d’appliquer des promotions en temps réel ou de s’intégrer à Power Automate pour des actions planifiées, ces fonctions vous permettent de créer des applications plus intelligentes et plus efficaces.