Build real-time Power BI dashboards with Stream Analytics no code editor
This tutorial shows how you can use the Stream Analytics no code editor to compute aggregates on real time data streams and store it in Azure Synapse Analytics.
In this tutorial, you learn how to:
- Deploy an event generator that sends data to your event hub
- Create a Stream Analytics job using the no code editor
- Review input data and schema
- Select fields to group by and define aggregations like count
- Configure Azure Synapse Analytics to which results will be written
- Run the Stream Analytics job
- Visualize data in Power BI
Before you start, make sure you've completed the following steps:
If you don't have an Azure subscription, create a free account.
Deploy the TollApp event generator to Azure, use this link to Deploy TollApp Azure Template. Set the 'interval' parameter to 1. And use a new resource group for this step.
If you'd like to build the real-time Power BI dashboard directly without capturing the data into database, you can skip step#3 and 4, then go to this guide to build real-time dashboard with Power BI dataset produced by Stream Analytics job.
Create a table named
carsummaryusing your Dedicated SQL pool. You can do it by running the following SQL script:
CREATE TABLE carsummary ( Make nvarchar(20), CarCount int, times datetime ) WITH ( CLUSTERED COLUMNSTORE INDEX ) ;
Use no code editor to create a Stream Analytics job
Locate the Resource Group in which the TollApp event generator was deployed.
Select the Azure Event Hubs namespace.
On the Event Hubs Namespace page, select Event Hubs under Entities on the left menu.
Go to Process data under Features section and then select start on the Start with blank canvas template.
Name your job
carsummaryand select Create.
On the event hub configuration page, confirm the following settings, and then select Connect.
Within few seconds, you'll see sample input data and the schema. You can choose to drop fields, rename fields or change data type if you want.
Select the Group by tile on the canvas and connect it to the event hub tile.
Configure the Group by tile by specifying:
Select Add field on the Manage fields page, and add the Make field as shown in the following image, and then select Save.
Select Manage fields on the command bar. Connect the Manage Fields tile to the Group by tile on canvas. Select Add all fields on the Manage fields configuration page.
Select ... next to the fields, and select Edit to rename them.
The Manage fields page should look as shown in the following image.
Select Synapse on the command bar. Connect the Synapse tile to the Manage fields tile on your canvas.
Configure Azure Synapse Analytics by specifying:
Subscription where your Azure Synapse Analytics is located
Database of the Dedicated SQL pool that you used to create the
carsummarytable in the previous section.
Username and password to authenticate
Table name as
Select Connect. You'll see sample results that will be written to your Synapse SQL table.
Select Save in the top ribbon to save your job and then select Start. Set Streaming Unit count to 3 and then select Start to run your job. Specify the storage account that will be used by Synapse SQL to load data into your data warehouse.
You'll then see a list of all Stream Analytics jobs created using the no code editor. And within two minutes, your job will go to a Running state. Select the Refresh button on the page to see the status changing from Created -> Starting -> Running.
Create a Power BI visualization
- Download the latest version of Power BI desktop.
- Use the Power BI connector for Azure Synapse SQL to connect to your database with DirectQuery.
- Use this query to fetch data from your database
SELECT [Make],[CarCount],[times] FROM [dbo].[carsummary] WHERE times >= DATEADD(day, -1, GETDATE())
- You can then create a line chart with
- X-axis as times
- Y-axis as CarCount
- Legend as Make You'll then see a chart that can be published. You can configure automatic page refresh and set it to 3 minutes to get a real-time view.
Except the Azure Synapse SQL, you can also use the SQL Database as the no-code editor output to receive the streaming data. And then use Power BI connector to connect the SQL Database with your database with DirectQuery as well to build the real-time dashboard.
It's also a good option to build the real-time dashboard with your streaming data. For more information about the SQL Database output, see Transform and ingest to SQL Database.
Clean up resources
- Locate your Event Hubs instance and see the list of Stream Analytics jobs under Process Data section. Stop any jobs that are running.
- Go to the resource group you used while deploying the TollApp event generator.
- Select Delete resource group. Type the name of the resource group to confirm deletion.
In this tutorial, you created a Stream Analytics job using the no code editor to define aggregations and write results to Azure Synapse Analytics. You then used the Power BI to build a real-time dashboard to see the results produced by the job.