Wechseln von Erkenntnissen zu einer schnellen Action-Präsentation

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.

Screenshot mit der Präsentation

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.

Screenshot der im Donut-Diagramm ausgewählten Region

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.

Screenshot mit der Schaltfläche

Screenshot mit der Option

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.

Screenshot mit der Dropdownliste

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.

Screenshot des Dialogfelds mit den Schaltflächen

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.

Screenshot mit dem Meldungstextfeld und der Schaltfläche

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();
});