Passer des insights à la présentation d’actions rapides
L’application Go from insights to quick action Power BI embedded showcase illustre une application qui crée des campagnes client significatives basées sur l’analytique en temps réel. Les utilisateurs peuvent segmenter et filtrer les données de rapport incorporées Power BI pour découvrir des insights, puis configurer et démarrer une campagne de remise ou de coupon client instantanément à partir du rapport.
Cette présentation montre comment une application utilise :
- L’API de commande de menu étendue pour ajouter une commande personnalisée et un élément de menu à un rapport.
- Gestion des événements pour communiquer entre les événements de rapport et le code d’application.
- API exportData pour exporter les données sous-jacentes d’un visuel de rapport.
Passer d’insights à une expérience de présentation d’action rapide
Contoso, une société de ventes fictive, utilise l’outil Go from insights pour présenter rapidement des actions pour générer des insights et lancer des campagnes directement à partir d’un rapport incorporé Power BI. Le rapport incorporé présente les achats des clients par nom de client et région, catégorie d’achat, jours depuis l’achat dernier et montant dépensé.
Le rapport comporte des visualisations de graphiques de tableau, de graphique en colonnes et de graphiques en anneau, ainsi que plusieurs mécanismes de découpage, de filtrage et de tri. Pour ce rapport, Contoso s’intéresse le plus aux 30 derniers achats de bout en bout de 500 $ à 799 $, de sorte que le rapport charge avec ces plages de segments appliquées.
Générer des insights
Pour obtenir des informations sur les résultats des ventes, les utilisateurs de rapports peuvent filtrer ou segmenter les données plus loin en sélectionnant des valeurs et des plages spécifiques dans les listes déroulantes, les visualisations et les segments. Par exemple, un responsable des ventes pour les services professionnels sélectionne plusieurs régions différentes et se rend compte que même si la catégorie Services professionnels a le plus élevé de dépenses totales au total, elle a les dépenses les plus faibles dans le MEA, le Royaume-Uni et les régions États-Unis, et aucun achat dans LATAM ou au Canada.
Créer une campagne
Le directeur des ventes décide de promouvoir les ventes de services professionnels au Canada, LATAM, MEA, Royaume-Uni et États-Unis clients. Pour lancer une campagne à tout moment à l’aide de la liste de clients actuelle, le Responsable des ventes peut sélectionner le bouton Créer une campagne , ou sélectionner Démarrer une campagne dans le menu Plus d’options (...) du visuel de table client.
Créer une liste de clients ciblée
Les utilisateurs du rapport peuvent utiliser les listes déroulantes de rapport, les visualisations et les segments pour affiner la liste des clients aux destinataires ciblés. Dans ce cas, le Responsable des ventes sélectionne le Canada, LATAM, MEA, ROYAUME-Uni et États-Unis dans la liste déroulante Région, et la table client répertorie désormais les clients de ces régions uniquement. Lorsque la liste des clients est prête, le Responsable des ventes sélectionne Créer une campagne.
Créer une campagne de remise
La liste de distribution de campagne s’ouvre, répertorie les noms et les coordonnées des destinataires ciblés et offre le choix d’envoyer une remise ou un coupon d’envoi. Le Gestionnaire des ventes sélectionne Envoyer une remise.
Dans la boîte de dialogue Envoyer une remise à la liste de distribution , le Responsable des ventes écrit un message offrant aux clients ciblés une remise de 10 % sur les services professionnels Contoso, puis sélectionne Envoyer.
L’application envoie les e-mails d’offre de remise à la liste de distribution et affiche une notification envoyée .
Le Responsable des ventes peut également envoyer un coupon aux clients en sélectionnant Envoyer un coupon sur l’écran de liste de distribution.
Passer d’insights à un code de présentation d’action rapide
Le code d’implémentation de la vitrine se trouve dans le référentiel GitHub PowerBI-Embedded-Showcases .
Le code HTML de l’application génère le conteneur de rapports incorporé et les éléments, les boîtes de dialogue, les champs de texte et les boutons.
Le code JavaScript du rapport incorpore le rapport et définit toutes les interactions de visualisation, les exportations de données et les fonctions de gestion des boutons.
Ajouter la commande de campagne au rapport
Le rapport embedConfiguration
utilise l’API de commande de menu étendre pour ajouter une campaign
commande au rapport, qui apparaît en haut du menu Autres options du visuel de tableau.
let config = {
...
settings: {
...
extensions: [
{
command: {
name: "campaign",
title: "Start campaign",
icon: base64Icon,
selector: {
$schema: "http://powerbi.com/product/schema#visualSelector",
visualName: tableVisualGuid
},
extend: {
visualOptionsMenu: {
title: "Start campaign",
menuLocation: models.MenuLocation.Top,
}
}
}
},
...
}
}
Gérer la commande Démarrer la campagne
Le code suivant gère l’événement commandTriggered
pour la campaign
commande. Le code écoute l’événement de sélection de l’élément de menu Démarrer la campagne et envoie les données de liste de clients filtrées actuelles à partir du visuel de table.
// Adding onClick listener for the custom menu in the table visual in the report
reportShowcaseState.report.on("commandTriggered", async function (event) {
if (event.detail.command === "campaign") {
// Populate data according to the current filters on the table visual
const result = await tableVisual.exportData(models.ExportDataType.Underlying);
handleExportData(result);
onStartCampaignClicked();
}
});
Gérer le bouton Créer une campagne cliquez sur
Le code suivant gère l’événement De clic sur le bouton Créer une campagne . Le code écoute l’événement Créer un événement de sélection de bouton de campagne et envoie les données de liste de clients filtrées actuelles à partir du visuel de table.
// Adding onClick listener for the button in the report
reportShowcaseState.report.on("buttonClicked", async function () {
// Populate data according to the current filters on the table visual
const result = await tableVisual.exportData(models.ExportDataType.Underlying);
handleExportData(result);
onStartCampaignClicked();
});