L'utilité des Rapports d'alerte pour les indicateurs clés de performance de votre entreprise n'est plus à démontrer. Cet article traite de l'automatisation des Rapports d'alerte.
Les Rapports d'alerte envoient automatiquement des alertes à des utilisateurs clés quand des dépassements de seuils se produisent. Ceux-ci évitent aux utilisateurs d'avoir à vérifier fréquemment les Rapports/données.
Nous allons construire un Rapport d'alerte en utilisant DIAL (Dimensional Insight Access Language).
Bien que l'apprentissage de la syntaxe de DIAL est en dehors du champ d'application de cette astuce, un exemple de script DIAL avec quelques explications de base est fourni.
Dans notre exemple, nous allons créer un rapport d'alerte automatisé qui envoie un e-mail aux vendeurs responsables de la clientèle dont les ventes sont en baisse de 20% par rapport au trimestre précédent.
1. Créez une Marque dont la vue est un rapport qui liste les clients dont les ventes sont en baisse de 20% par rapport au trimestre précédent, ce Rapport étant contrôlé par une QuickView de type liste déroulante sur le Vendeur (sur la Dimension Salesperson).
2. Créez un fichier lookup avec séparateur tabulation (par exemple, salesrep.txt) contenant deux colonnes : le nom du commercial (Salesperson) et l'adresse e-mail du commercial (SalesRepEmail). Ce qui suit est un exemple de fichier texte partiel:
3. Créez un script DIAL (par example, alerte_email.dial):
-------------------------------------------------------------------------------------------
//Ce script se connecte au serveur DiveLine et ouvre la Marque marker.mrk. Ce script ouvre ensuite le fichier texte Salesrep.txt et relie (jointure) la colonne Salesperson (salesrep.txt) à la Dimension Salesperson(marker.mrk).
//Ce script se connecte au serveur DiveLine et ouvre la Marque marker.mrk. Ce script ouvre ensuite le fichier texte Salesrep.txt et relie (jointure) la colonne Salesperson (salesrep.txt) à la Dimension Salesperson(marker.mrk).
diveline.connect("localhost:2130", "admin", "admin");
marker.open(MARKER,"/DI_Training/marker.mrk");
lookup.open(LOOKUP,"C:\\DI_Training\\data\\salesrep.txt","Salesperson");
//La section suivante va parcourir la liste des différents clients dans le rapport et va déterminer si le critère d'alerte spécifié est rencontré. Si le CA est en baisse de 20% par rapport au dernier trimestre, un email est envoyé au Responsable des ventes pour chaque client identifié. La syntaxe de la fonction if vérifie 3 conditions : 1)Vérifie que le fichier lookup existe. 2)Vérifie que l'adresse email du vendeur existe. 3)Vérifie que le critère d'alerte spécifié est rencontré pour les clients du vendeur considéré. Si les trois conditions sont vraies, alors un email est envoyé au vendeur ; si une des trois conditions est fausse, aucun email n'est envoyé.
walk(MARKER,"Salesperson")
{
if (lookup.defined(LOOKUP) AND LOOKUP.SalesRepEmail != "" AND !(window.is_empty(MARKER)))
if (lookup.defined(LOOKUP) AND LOOKUP.SalesRepEmail != "" AND !(window.is_empty(MARKER)))
{
REP = Dimension[MARKER.Salesperson];
REP = Dimension[MARKER.Salesperson];
marker.save_report(MARKER,"C:\\DI_Training\\temp\\dial_CA_en_baisse_"+REP+".pdf","pdf");
mail.test();
mail.set_server("mail.tribrands.com");
mail.set_from("operations@tribrands.com");
mail.file(LOOKUP.SalesRepEmail,"CA en baisse pour"+REP, "C:\\DI_Training\\temp\\dial_CA_en_baisse_"+REP+".pdf", "pdf,attach,filename=dial_CA_en_baisse_"+_"+REP+".pdf");
}
}
diveline.disconnect();
}
}
diveline.disconnect();
4. Pour tester, exécutez la commande suivante:
C: \DI_Training\DIAL_Programs>java -jar dial.jar alerte_email.dial
La commande génère une sortie semblable à ce qui suit si des critères d'alerte sont rencontrés:
----------------------------------------------------------
Mail test: Envoi de message fichier pagate@tribrands.com
Mail test: Envoi de message fichier bander@tribrands.com
Mail test: Envoi de message fichier aasant@tribrands.com
Mail test: Envoi de message fichier caspre@tribrands.com
Mail test: Envoi de message fichier tbaker@tribrands.com
Mail test: Envoi de message fichier cbates@tribrands.com
Mail test: Envoi de message fichier wbenne@tribrands.com
Mail test: Envoi de message fichier fbowen@tribrands.com
Mail test: Envoi de message fichier rcaitl@tribrands.com
----------------------------------------------------------
Mail test: Envoi de message fichier pagate@tribrands.com
Mail test: Envoi de message fichier bander@tribrands.com
Mail test: Envoi de message fichier aasant@tribrands.com
Mail test: Envoi de message fichier caspre@tribrands.com
Mail test: Envoi de message fichier tbaker@tribrands.com
Mail test: Envoi de message fichier cbates@tribrands.com
Mail test: Envoi de message fichier wbenne@tribrands.com
Mail test: Envoi de message fichier fbowen@tribrands.com
Mail test: Envoi de message fichier rcaitl@tribrands.com
----------------------------------------------------------
Dimensional Insight propose une formation sur l'utilisation du langage de script DIAL. Envoyez un mail à : pour plus d'informations.