Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die des Power BI-Playgrounds von Erkenntnissen bis hin zu schnellen Aktionen zeigt eine App, die aussagekräftige Kundenkampagnen basierend auf Echtzeitanalysen erstellt. Benutzer können Power BI eingebettete Berichtsdaten segmentieren und filtern, um Erkenntnisse zu entdecken, dann einen Kundenrabatt oder eine Couponkampagne sofort aus dem Bericht zu konfigurieren und zu starten.
In diesem Showcase wird veranschaulicht, wie eine App die folgenden Befehle verwendet:
- Der Erweitern des Menübefehls API, um einem Bericht einen benutzerdefinierten Befehl und ein Menüelement hinzuzufügen.
- Ereignisbehandlung, um zwischen Berichtsereignissen und Anwendungscode zu kommunizieren.
- Die exportData-API zum Exportieren der zugrunde liegenden Daten eines visuellen Berichts.
Wechseln von Erkenntnissen zu schnellem Action-Showcase-Erlebnis
Contoso, ein fiktives Vertriebsunternehmen, verwendet die Go from insights to quick action showcase to generate insights and kick off campaigns directly from a Power BI embedded report. Der eingebettete Bericht zeigt Kundenkäufe nach Kundenname und Region, Einkaufskategorie, Tage seit dem letzten Kauf und Betrag an.
Der Bericht enthält Tabellen-, Säulendiagramm- und Donutdiagrammvisualisierungen sowie mehrere Slicing-, Filter- und Sortiermechanismen. Für diesen Bericht ist Contoso am meisten an den 30-Tage-Käufen höherer End-Käufe von $500-$799 interessiert, sodass der Bericht mit diesen Datenschnittbereichen geladen wird.
Generieren von Einblicken
Um Einblicke zu den Vertriebsergebnissen zu erhalten, können Berichtsbenutzer die Daten weiter filtern oder segmentieren, indem sie bestimmte Werte und Bereiche in den Dropdownlisten, Visualisierungen und Datenschnitten auswählen. Beispielsweise wählt ein Sales Manager für Professional Services mehrere verschiedene Regionen aus und erkennt, dass die kategorie Professional Services die höchsten Gesamtausgaben insgesamt hatte, sie hatte die niedrigsten Ausgaben in den Regionen MEA, GROßBRITANNIEN und USA und keine Einkäufe in LATAM oder Kanada.
Erstellen einer Kampagne
Der Sales Manager beschließt, Professional Services-Verkäufe an Kanada, LATAM, MEA, UK und US-Kunden zu bewerben. Um eine Kampagne jederzeit mithilfe der aktuellen Kundenliste zu starten, kann der Sales Manager entweder die Schaltfläche "Kampagne erstellen" auswählen oder Kampagne aus der visuellen "Weitere Optionen" (...) auswählen.
Erstellen einer Zielkundenliste
Berichtsbenutzer können die Dropdownlisten, Visualisierungen und Datenschnitte des Berichts verwenden, um die Kundenliste auf zielorientierte Empfänger einzugrenzen. In diesem Fall wählt der Sales Manager Kanada, LATAM-, MEA-, ukund Vereinigte Staaten aus der Dropdownliste Region und die Kundentabelle jetzt Kunden aus diesen Regionen auf. Wenn die Kundenliste fertig ist, wählt der Sales Manager Erstellen einer Kampagneaus.
Erstellen einer Rabattkampagne
Die Kampagnenverteilerliste Popup geöffnet, die Namen und Kontaktinformationen der Empfänger auflisten und die Wahl zum Senden von Rabatten oder Senden von Coupon-. Der Vertriebsmanager wählt Rabattsenden aus.
Im Dialogfeld Rabatt an verteilerliste senden schreibt der Vertriebsleiter eine Nachricht, die den Zielkunden einen Rabatt von 10% auf Contoso Professional Services bietet, und wählt dann Sendenaus.
Die App sendet die E-Mails des Rabattangebots an die Verteilerliste und zeigt eine Gesendete-Benachrichtigung an.
Der Vertriebsleiter könnte auch einen Coupon an Kunden senden, indem er Coupon- auf dem Bildschirm der Verteilerliste auswählt.
Wechseln von Insights zu Schnellaktions-Showcase-Code
Der Code für die Implementierung der Showcase befindet sich im PowerBI-Embedded-Showcases GitHub-Repository.
Die Anwendung HTML-Code erstellt den eingebetteten Berichtscontainer und Elemente, Dialogfelder, Textfelder und Schaltflächen.
Der Bericht JavaScript-Code den Bericht einbettet und definiert alle Visualisierungsinteraktionen, Datenexporte und Schaltflächenbehandlungsfunktionen.
Hinzufügen des Kampagnenbefehls zum Bericht
Der Bericht embedConfiguration verwendet den Erweiterungsmenübefehl-API, um dem Bericht einen campaign Befehl hinzuzufügen, der oben im Menü "Weitere Optionen" Menü der visuellen Tabelle angezeigt wird.
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,
}
}
}
},
...
}
}
Behandeln des Befehls "Kampagne starten"
Der folgende Code behandelt das commandTriggered-Ereignis für den befehl campaign. Der Code überwacht die Startkampagne Menüelementauswahlereignis und sendet die aktuellen gefilterten Kundenlistendaten aus der Visuellen Tabelle.
// 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();
}
});
Behandeln des Klickens auf die Schaltfläche "Kampagne erstellen"
Der folgende Code behandelt die Erstellen einer Kampagne Klickereignis für Schaltflächen. Der Code lauscht auf die Erstellen einer Kampagne Schaltflächenauswahlereignis und sendet die aktuellen gefilterten Kundenlistendaten aus der Visuellen Tabelle.
// 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();
});