Stream Analytics und Power BI: Ein Dashboard mit Echtzeitanalyse von StreamingdatenStream Analytics and Power BI: A real-time analytics dashboard for streaming data

Azure Stream Analytics ermöglicht Ihnen die Nutzung von Microsoft Power BI, einem der führenden Business Intelligence-Tools.Azure Stream Analytics enables you to take advantage of one of the leading business intelligence tools, Microsoft Power BI. In diesem Artikel erfahren Sie, wie Sie Business Intelligence-Tools erstellen können, indem Sie Power BI als Ausgabe für Ihre Azure Stream Analytics-Aufträge verwenden.In this article, you learn how create business intelligence tools by using Power BI as an output for your Azure Stream Analytics jobs. Darüber hinaus erfahren Sie, wie Sie ein Echtzeitdashboard erstellen und verwenden.You also learn how to create and use a real-time dashboard.

Dieser Artikel ist eine Fortsetzung des Stream Analytics-Tutorials Erste Schritte mit Azure Stream Analytics: Betrugserkennung in Echtzeit.This article continues from the Stream Analytics real-time fraud detection tutorial. Er baut auf dem in diesem Tutorial erstellten Workflow auf, und es wird eine Power BI-Ausgabe hinzugefügt, damit Sie betrügerische Telefonanrufe visualisieren können, die von einem Stream Analytics-Auftrag erkannt werden.It builds on the workflow created in that tutorial and adds a Power BI output so that you can visualize fraudulent phone calls that are detected by a Streaming Analytics job.

Sie können sich ein Video ansehen, in dem dieses Szenario veranschaulicht wird.You can watch a video that illustrates this scenario.

VoraussetzungenPrerequisites

Stellen Sie zunächst sicher, dass Sie über Folgendes verfügen:Before you start, make sure you have the following:

  • Ein Azure-Konto.An Azure account.
  • Ein Konto für Power BI.An account for Power BI. Sie können ein Geschäfts-, Schul- oder Unikonto verwenden.You can use a work account or a school account.
  • Eine abgeschlossene Version des Tutorials Erste Schritte mit Azure Stream Analytics: Betrugserkennung in Echtzeit.A completed version of the real-time fraud detection tutorial. Das Tutorial enthält eine App, mit der fiktive Metadaten für Telefonanrufe generiert werden.The tutorial includes an app that generates fictitious telephone-call metadata. Im Tutorial erstellen Sie einen Event Hub und senden die Streamingdaten der Telefonanrufe an ihn.In the tutorial, you create an event hub and send the streaming phone call data to the event hub. Sie schreiben eine Abfrage, mit der betrügerische Anrufe erkannt werden (Anrufe unter derselben Nummer zur gleichen Zeit an unterschiedlichen Orten).You write a query that detects fraudulent calls (calls from the same number at the same time in different locations).

Hinzufügen der Power BI-AusgabeAdd Power BI output

Im Tutorial zur Betrugsermittlung in Echtzeit wird die Ausgabe an Azure Blob Storage gesendet.In the real-time fraud detection tutorial, the output is sent to Azure Blob storage. In diesem Abschnitt fügen Sie eine Ausgabe hinzu, mit der Informationen an Power BI gesendet werden.In this section, you add an output that sends information to Power BI.

  1. Öffnen Sie im Azure-Portal den Stream Analytics-Auftrag, den Sie zuvor erstellt haben.In the Azure portal, open the Streaming Analytics job that you created earlier. Wenn Sie den vorgeschlagenen Namen verwendet haben, hat der Auftrag den Namen sa_frauddetection_job_demo.If you used the suggested name, the job is named sa_frauddetection_job_demo.

  2. Aktivieren Sie das Kontrollkästchen Ausgaben in der Mitte des Auftragsdashboards, und wählen Sie anschließend + Hinzufügen.Select the Outputs box in the middle of the job dashboard and then select + Add.

  3. Geben Sie unter Ausgabealias den Text CallStream-PowerBI ein.For Output Alias, enter CallStream-PowerBI. Sie können auch einen anderen Namen verwenden.You can use a different name. Wenn Sie dies tun, sollten Sie sich den Namen notieren, da Sie ihn später noch benötigen.If you do, make a note of it, because you need the name later.

  4. Wählen Sie unter Senke die Option Power BI.Under Sink, select Power BI.

    Erstellen einer Ausgabe für Power BI

  5. Klicken Sie auf Autorisieren.Click Authorize.

    Es wird ein Fenster geöffnet, in dem Sie Ihre Azure-Anmeldeinformationen für ein Geschäfts-, Schul- oder Unikonto angeben können.A window opens where you can provide your Azure credentials for a work or school account.

    Eingeben der Anmeldeinformationen für den Zugriff auf Power BI

  6. Geben Sie Ihre Anmeldeinformationen ein.Enter your credentials. Bedenken Sie beim Eingeben Ihrer Anmeldeinformationen, dass Sie auch dem Stream Analytics-Auftrag die Berechtigung zum Zugreifen auf Ihren Power BI-Bereich gewähren.Be aware then when you enter your credentials, you're also giving permission to the Streaming Analytics job to access your Power BI area.

  7. Geben Sie die folgenden Informationen ein, wenn Sie zurück auf das Blatt Neue Ausgabe gelangen:When you're returned to the New output blade, enter the following information:

    • Gruppenarbeitsbereich: Wählen Sie einen Arbeitsbereich in Ihrem Power BI-Mandanten aus, in dem Sie das Dataset erstellen möchten.Group Workspace: Select a workspace in your Power BI tenant where you want to create the dataset.
    • Datasetname: Geben Sie sa-dataset ein.Dataset Name: Enter sa-dataset. Sie können auch einen anderen Namen verwenden.You can use a different name. Wenn Sie dies tun, sollten Sie sich den Namen zur späteren Verwendung notieren.If you do, make a note of it for later.
    • Tabellenname: Geben Sie fraudulent-calls ein.Table Name: Enter fraudulent-calls. Derzeit darf die Power BI-Ausgabe von Stream Analytics-Aufträgen nur eine Tabelle pro Dataset aufweisen.Currently, Power BI output from Stream Analytics jobs can have only one table in a dataset.

      PBI-Arbeitsbereich

      Warnung

      Wenn Power BI über ein Dataset und eine Tabelle mit den gleichen Namen wie das Dataset und die Tabelle im Stream Analytics-Auftrag verfügt, werden die vorhandenen Elemente überschrieben.If Power BI has a dataset and table that have the same names as the ones that you specify in the Stream Analytics job, the existing ones are overwritten. Es wird empfohlen, dieses Dataset und diese Tabelle nicht explizit in Ihrem Power BI-Konto zu erstellen.We recommend that you do not explicitly create this dataset and table in your Power BI account. Diese werden automatisch erstellt, wenn Sie Ihren Stream Analytics-Auftrag starten und der Auftrag damit beginnt, Power BI mit Ausgaben zu füttern.They are automatically created when you start your Stream Analytics job and the job starts pumping output into Power BI. Wenn die Auftragsabfrage keine Ergebnisse generiert, werden das Dataset und die Tabelle nicht erstellt.If your job query doesn't return any results, the dataset and table are not created.

  8. Klicken Sie auf Create.Click Create.

Das Dataset wird mit den folgenden Einstellungen erstellt:The dataset is created with the following settings:

  • defaultRetentionPolicy: BasicFIFO: Daten sind FIFO mit maximal 200.000 Zeilen.defaultRetentionPolicy: BasicFIFO: Data is FIFO, with a maximum of 200,000 rows.
  • defaultMode: pushStreaming: Das Dataset unterstützt sowohl Streamingkacheln als auch herkömmliche berichtsbasierte Visualisierungen (auch alsdefaultMode: pushStreaming: The dataset supports both streaming tiles and traditional report-based visuals (a.k.a. „Push“ bezeichnet).push).

Derzeit ist es nicht möglich, Datasets mit anderen Kennzeichen zu erstellen.Currently, you can't create datasets with other flags.

Weitere Informationen zu Power BI-Datasets finden Sie in der Power BI-REST-API-Referenz.For more information about Power BI datasets, see the Power BI REST API reference.

Schreiben der AbfrageWrite the query

  1. Schließen Sie das Blatt Ausgaben, und wechseln Sie zurück zum Auftragsblatt.Close the Outputs blade and return to the job blade.

  2. Klicken Sie in das Feld Abfrage.Click the Query box.

  3. Geben Sie die folgende Abfrage ein.Enter the following query. Diese Abfrage ähnelt der Selbstverknüpfungsabfrage, die Sie im Tutorial zur Betrugserkennung erstellt haben.This query is similar to the self-join query you created in the fraud-detection tutorial. Der Unterschied besteht darin, dass diese Abfrage Ergebnisse an die neue Ausgabe sendet, die Sie erstellt haben (CallStream-PowerBI).The difference is that this query sends results to the new output you created (CallStream-PowerBI).

    Hinweis

    Wenn Sie der Eingabe im Tutorial zur Betrugserkennung nicht den Namen CallStream gegeben haben, müssen Sie für CallStream in den FROM- und JOIN-Klauseln der Abfrage Ihren Namen einfügen.If you did not name the input CallStream in the fraud-detection tutorial, substitute your name for CallStream in the FROM and JOIN clauses in the query.

     /* Our criteria for fraud:
     Calls made from the same caller to two phone switches in different locations (for example, Australia and Europe) within five seconds */
    
     SELECT System.Timestamp AS WindowEnd, COUNT(*) AS FraudulentCalls
     INTO "CallStream-PowerBI"
     FROM "CallStream" CS1 TIMESTAMP BY CallRecTime
     JOIN "CallStream" CS2 TIMESTAMP BY CallRecTime
    
     /* Where the caller is the same, as indicated by IMSI (International Mobile Subscriber Identity) */
     ON CS1.CallingIMSI = CS2.CallingIMSI
    
     /* ...and date between CS1 and CS2 is between one and five seconds */
     AND DATEDIFF(ss, CS1, CS2) BETWEEN 1 AND 5
    
     /* Where the switch location is different */
     WHERE CS1.SwitchNum != CS2.SwitchNum
     GROUP BY TumblingWindow(Duration(second, 1))
    
  4. Klicken Sie auf Speichern.Click Save.

Testen der AbfrageTest the query

Dieser Abschnitt ist optional, wird aber empfohlen.This section is optional, but recommended.

  1. Wenn die TelcoStreaming-App derzeit nicht ausgeführt wird, können Sie sie mit den folgenden Schritten starten:If the TelcoStreaming app is not currently running, start it by following these steps:

    • Öffnen Sie ein Befehlsfenster.Open a command window.
    • Navigieren Sie zu dem Ordner, in dem die Datei „telcogenerator.exe“ und die geänderte Datei „telcodatagen.exe.config“ enthalten sind.Go to the folder where the telcogenerator.exe and modified telcodatagen.exe.config files are.
    • Führen Sie den folgenden Befehl aus:Run the following command:

        telcodatagen.exe 1000 .2 2
      
  2. Klicken Sie auf dem Blatt Abfrage auf die Punkte neben der CallStream-Eingabe, und wählen Sie anschließend Beispieldaten aus Eingabe.In the Query blade, click the dots next to the CallStream input and then select Sample data from input.

  3. Geben Sie an, dass Sie Daten für einen Zeitraum von drei Minuten benötigen, und klicken Sie auf OK.Specify that you want three minutes' worth of data and click OK. Warten Sie auf die Benachrichtigung, dass die Beispieldaten erfasst wurden.Wait until you're notified that the data has been sampled.

  4. Klicken Sie auf Test, und vergewissern Sie sich, dass Sie Ergebnisse erhalten.Click Test and make sure you're getting results.

Ausführen des AuftragsRun the job

  1. Stellen Sie sicher, dass die TelcoStreaming-App ausgeführt wird.Make sure that the TelcoStreaming app is running.

  2. Schließen Sie das Blatt Abfrage.Close the Query blade.

  3. Klicken Sie auf dem Auftragsblatt auf Start.In the job blade, click Start.

    Starten des Stream Analytics-Auftrags

Der Stream Analytics-Auftrag beginnt mit der Suche nach betrügerischen Anrufen, die im eingehenden Datenstrom enthalten sind.Your Streaming Analytics job starts looking for fraudulent calls in the incoming stream. Außerdem erstellt der Auftrag das Dataset und die Tabelle in Power BI und sendet Daten zu den betrügerischen Anrufen an das Dataset und die Tabelle.The job also creates the dataset and table in Power BI and starts sending data about the fraudulent calls to them.

Erstellen des Dashboards in Power BICreate the dashboard in Power BI

  1. Navigieren Sie zu Powerbi.com, und melden Sie sich mit Ihrem Geschäfts-, Schul- oder Unikonto an.Go to Powerbi.com and sign in with your work or school account. Sofern die Stream Analytics-Auftragsabfrage Ergebnisse ausgibt, werden Sie feststellen, dass das Dataset bereits erstellt wurde:If the Stream Analytics job query outputs results, you see that your dataset is already created:

    Streamingdataset in Power BI

  2. Klicken Sie in Ihrem Arbeitsbereich auf + Erstellen.In your workspace, click + Create.

    Schaltfläche „Erstellen“ im Power BI-Arbeitsbereich

  3. Erstellen Sie ein neues Dashboard, und geben Sie ihm den Namen Fraudulent Calls.Create a new dashboard and name it Fraudulent Calls.

    Erstellen und Benennen eines Dashboards im Power BI-Arbeitsbereich

  4. Klicken Sie oben im Fenster auf Kachel hinzufügen, wählen Sie die Option BENUTZERDEFINIERTE STREAMINGDATEN, und klicken Sie dann auf Weiter.At the top of the window, click Add tile, select CUSTOM STREAMING DATA, and then click Next.

    Benutzerdefiniertes Streamingdataset

  5. Wählen Sie Ihr Dataset unter IHRE DATASETS aus, und klicken Sie anschließend auf Weiter.Under YOUR DATSETS, select your dataset and then click Next.

    Ihr Streamingdataset

  6. Wählen Sie unter Visualisierungstyp die Option Karte und in der Liste Felder dann den Eintrag fraudulentcalls.Under Visualization Type, select Card, and then in the Fields list, select fraudulentcalls.

    Visualisierungsdetails für die neue Kachel

  7. Klicken Sie auf Weiter.Click Next.

  8. Fügen Sie die Kacheldetails ein, z.B. Titel und Untertitel.Fill in tile details like a title and subtitle.

    Titel und Untertitel für neue Kachel

  9. Klicken Sie auf Anwenden.Click Apply.

    Sie verfügen nun über einen Betrugszähler!Now you have a fraud counter!

    Betrugszähler

  10. Führen Sie die Schritte erneut aus, um eine Kachel hinzuzufügen (ab Schritt 4).Follow the steps again to add a tile (starting with step 4). Gehen Sie jetzt wie folgt vor:This time, do the following:

    • Wählen Sie unter Visualisierungstyp die Option Liniendiagramm.When you get to Visualization Type, select Line chart.
    • Fügen Sie eine Achse hinzu, und wählen Sie windowend aus.Add an axis and select windowend.
    • Fügen Sie einen Wert hinzu, und wählen Sie fraudulentcalls.Add a value and select fraudulentcalls.
    • Wählen Sie für Das anzuzeigende Zeitfenster die letzten zehn Minuten aus.For Time window to display, select the last 10 minutes.

      Kachel zum Erstellen eines Liniendiagramms

  11. Klicken Sie auf Weiter, fügen Sie einen Titel und einen Untertitel hinzu, und klicken Sie auf Übernehmen.Click Next, add a title and subtitle, and click Apply.

    Im Power BI-Dashboard werden jetzt zwei Ansichten mit Daten zu betrügerischen Anrufen angezeigt, die in den Streamingdaten erkannt wurden.The Power BI dashboard now gives you two views of data about fraudulent calls as detected in the streaming data.

    Fertiges Power BI-Dashboard mit zwei Kacheln zu betrügerischen Anrufen

Weitere Informationen zu Power BILearn more about Power BI

In diesem Tutorial wird veranschaulicht, wie Sie für ein Dataset nur einige Arten von Visualisierungen erstellen.This tutorial demonstrates how to create only a few kinds of visualizations for a dataset. Mithilfe von Power BI können Sie weitere kundenspezifische Business Intelligence Tools für Ihr Unternehmen erstellen.Power BI can help you create other customer business intelligence tools for your organization. Weitere Ideen finden Sie unter den folgenden Ressourcen:For more ideas, see the following resources:

Einschränkungen und bewährte MethodenLearn about limitations and best practices

Derzeit können Sie Power BI etwa einmal pro Sekunde aufrufen.Currently, Power BI can be called roughly once per second. Das Streaming visueller Elemente unterstützt Pakete mit bis zu 15 KB.Streaming visuals support packets of 15 KB. Darüber hinaus tritt beim Streaming visueller Elemente ein Fehler auf (Push funktioniert jedoch weiterhin).Beyond that, streaming visuals fail (but push continues to work). Aufgrund dieser Einschränkungen eignet sich Power BI perfekt für Anwendungsfälle, bei denen Azure Stream Analytics eine erhebliche Datenlastverringerung ermöglicht.Because of these limitations, Power BI lends itself most naturally to cases where Azure Stream Analytics does a significant data load reduction. Wir empfehlen die Verwendung eines rollierenden oder springenden Fensters, um sicherzustellen, dass der Datenpush nicht höher ist als ein Push pro Sekunde und Ihre Abfrage innerhalb der Durchsatzanforderungen liegt.We recommend using a Tumbling window or Hopping window to ensure that data push is at most one push per second, and that your query lands within the throughput requirements.

Mithilfe der folgenden Gleichung können Sie den Wert berechnen, um den Wert für Ihr Fenster in Sekunden zu berechnen:You can use the following equation to compute the value to give your window in seconds:

Gleichung1

Beispiel: For example:

  • Sie haben 1.000 Geräte, die in Intervallen von einer Sekunde Daten senden.You have 1,000 devices sending data at one-second intervals.
  • Sie verwenden das Power BI Pro-SKU, das 1.000.000 Zeilen pro Stunde unterstützt.You are using the Power BI Pro SKU that supports 1,000,000 rows per hour.
  • Sie möchten die Menge der durchschnittlichen Daten pro Gerät für Power BI veröffentlichen.You want to publish the amount of average data per device to Power BI.

Daraus resultiert die folgende Gleichung:As a result, the equation becomes:

Gleichung2

Mit dieser Konfiguration können Sie die ursprüngliche Abfrage wie folgt ändern:Given this configuration, you can change the original query to the following:

SELECT
    MAX(hmdt) AS hmdt,
    MAX(temp) AS temp,
    System.TimeStamp AS time,
    dspl
INTO "CallStream-PowerBI"
FROM
    Input TIMESTAMP BY time
GROUP BY
    TUMBLINGWINDOW(ss,4),
    dspl

Erneuern der AutorisierungRenew authorization

Wenn das Kennwort seit der Erstellung oder letzten Authentifizierung Ihres Auftrags geändert wurde, müssen Sie Ihr Power BI-Konto erneut authentifizieren.If the password has changed since your job was created or last authenticated, you need to reauthenticate your Power BI account. Wenn Azure Multi-Factor Authentication auf Ihrem Azure Active Directory (Azure AD)-Mandanten konfiguriert ist, müssen Sie die Power BI-Autorisierung ebenfalls alle zwei Wochen erneuern.If Azure Multi-Factor Authentication is configured on your Azure Active Directory (Azure AD) tenant, you also need to renew Power BI authorization every two weeks. Wenn Sie sie nicht erneuern, erhalten Sie unter Umständen keine Auftragsausgabe, oder in den Vorgangsprotokollen tritt ein Authenticate user error (Benutzerauthentifizierungsfehler) auf.If you don't renew, you could see symptoms such as a lack of job output or an Authenticate user error in the operation logs.

Wenn ein Auftrag gestartet wird, nachdem das Token abgelaufen ist, wird eine Fehlermeldung angezeigt, und die Ausführung des Auftrags ist nicht erfolgreich.Similarly, if a job starts after the token has expired, an error occurs and the job fails. Um dieses Problem zu beheben, halten Sie den laufenden Auftrag an, und wechseln Sie zur Power BI-Ausgabe.To resolve this issue, stop the job that's running and go to your Power BI output. Klicken Sie auf den Link Autorisierung erneuern, und starten Sie den Auftrag ab der Letzten Beendigungszeit neu, um Datenverlust zu vermeiden.To avoid data loss, select the Renew authorization link, and then restart your job from the Last Stopped Time.

Nachdem die Autorisierung mit Power BI aktualisiert wurde, wird im Autorisierungsbereich eine grüne Benachrichtigung angezeigt, die darauf hinweist, dass das Problem gelöst ist.After the authorization has been refreshed with Power BI, a green alert appears in the authorization area to reflect that the issue has been resolved.

Hier erhalten Sie HilfeGet help

Um Hilfe zu erhalten, nutzen Sie unser Azure Stream Analytics-Forum.For further assistance, try our Azure Stream Analytics forum.

Nächste SchritteNext steps