Power BI Real Time Streaming

What is Power BI Real Time Streaming?

Power BI Real Time Streaming refers to functionality in Power BI Service that enables users to stream data and provide data updates in real-time to your dashboards. Using this feature, you can display and update any visual, dashboards created in Power BI Service with real-time datasets. There can be different devices and data streaming sources you can connect to display information on social media trends, key service metrics, stock market updates, blood bank details, other supply chain statistics, etc. on a real-time basis using time-sensitive data collection devices. 

Power BI Real Time Streaming can help organizations in multiple ways including:

  • Display data insights on a real-time basis enabling business decisions in real-time
  • Automate data visualization, detect changes to data patterns, and project meaningful data insights

Power BI Service supports the Real Time Streaming through three different types of real-time semantic models. These models are designed to display in tiles and dashboards and assist users in analyzing the Power BI real-time streaming data. Power BI also provides features to use streaming dataflows for connecting with Power BI real-time streaming data, performing data ingestion, mash-up, model and build visualizations based on streaming data in the Power BI Service portal. However, note that this feature has been retired in Power BI and merged with Azure Stream Analytics.

A high-level diagram displaying the Power BI Real Time Streaming is provided below

Power BI Real Time Streaming - Diagram

In the next section, we will go through the different data classes for real-time data streaming,

Key Takeaways
  • Power BI Real Time Streaming enables the user to display and update any visual, dashboards created in Power BI Service with real-time datasets
  • Power BI Real Time Streaming helps organizations to project critical indicators or metrics on a real-time basis to detect changes to data patterns and hence facilitates quick decision-making.
  • Power BI Service supports the Real Time Streaming through three different types of real-time semantic models i.e. Push, Streaming, and PubNub streaming semantic models
  • You can implement the Power BI Real Time Streaming either through Tiles with visuals from streaming data or by creating Semantic models from streaming data that persist in Power BI
  • The real-time streaming involves creating a Power BI real-time streaming data, designing a report, and configuring real-time refresh settings.
  • Carefully consider the nature of your data and the requirements of your analysis when opting for real-time streaming in Power BI.

Classes of datasets for real-time data streaming

For real-time data streaming, the following 3 types of semantic models or datasets are supported in Power BI Service. These include

  • Push semantic model
    • In this model, datasets are pushed into the Power BI service using Power BI REST APIs. This creates a semantic model resulting in the automatic creation of a new database for data storage in the Power BI Service.
    • Users can create Power BI reports using the data stored in the database and apply features such as data visualization, pin dashboard tiles, set up alerts.
  • Streaming semantic model
    • In this model, datasets are pushed into the Power BI service through Azure Analytics Streaming. The data is stored in a temporary cache that can be used for displaying temporary visuals such as a line chart visual for 1 hour or so. 
    • This model does not create any database for data storage and hence is not ideal to build reports using the data stream. However, you can add a tile to the dashboard and leverage this model as a custom streaming data source
    • This model is ideal for data visualization requiring latency optimization between data push and visualization.
  • PubNub streaming semantic model
    • In this model, Power BI Service uses the PubNub SDK for reading an existing PubNub data stream and hence no data is stored in Power BI Service.
    • To read the data stream, you must ensure to list only approved outbound traffic from your network to PubNub
    • This model does not create any database and is not ideal for creating reports using the data that flows into the Power BI Service. However, you can add a tile to the dashboard and apply data configuration to use the PubNub data stream as a data source

The below table highlights the various capabilities and limitations that each of these 3 semantic models have for real-time streaming.

CapabilityPushStreamingPubNub
Dashboard tiles update in real-time as data is pushed inYes.
For visuals built via reports and then pinned to the dashboard.
Yes.
For custom streaming tiles are added directly to the dashboard.
Yes.
For custom streaming tiles are added directly to the dashboard.
Dashboard tiles update with smooth animationsNo.Yes.Yes.
Data stored permanently in Power BI for historical analysisYes.No.
Data is temporarily stored for one hour to render visuals.
No.
Build Power BI reports on top of the dataYes.No.No.
Max rate of data ingestion1 requests
16 MB/request
5 requests
15 KB/request
N/A
Data isn’t being pushed into Power BI.
Limits on data throughput1M rows/hourNone.N/A
Data isn’t being pushed into Power BI.

In the next section, we will understand how you can implement the Power BI Real Time Streaming in Power BI Service.

How to implement Power BI Real Time Streaming?

To implement Power BI Real Time Streaming, follow the instructions outlined below:

Step 1: Choose a method to consume Power BI real-time streaming data. You can choose one of the following methods for streaming data. These methods include:

  • Tiles with visuals from streaming data
  • Semantic models created from streaming data that persist in Power BI

Step 2: Set up Power BI real-time streaming data regardless of what method you have selected in Step 1. To get your real-time streaming semantic model working in Power BI, select the Add a tile option In either an existing or new dashboard.

Power BI Real Time Streaming - implement - Step 2

Step 3: On the Add a tile page, select Custom Streaming Data, and then select Next.

Power BI Real Time Streaming - implement - Step 3

Step 4: On the Add a custom streaming data tile page, you can choose from an existing semantic model, or select Manage datasets to import your streaming semantic model if it is already created. If you want to create it from scratch, then select Add streaming semantic model option.

Power BI Real Time Streaming - implement - Step 4

Step 5: On the New streaming dataset page, select one of the options from APIAzure Stream, or PubNub, and then select Next.

Power BI Real Time Streaming - implement - Step 5

Step 6: If you choose the API option on the New streaming dataset screen, i.e., Power BI REST API and click on Next, you need to provide details such as Dataset name and values from stream.

If you want Power BI to store the data this data stream sends, so you can do reporting and analysis on the collected data, enable Historic data analysis.

A screenshot of a computer

Description automatically generated

For example, you can provide the details of the values as shown below

Power BI Real Time Streaming - implement - Step 6

After you successfully create your data stream, you get a REST API URL endpoint. You can configure your application to call the endpoint by using POST requests. This will push your streaming data to the Power BI semantic model.

Power BI Real Time Streaming - implement - Step 6 - REST API URL

You must ensure that in your POST requests, the request body aligns with the sample JSON code provided by the Power BI user interface.

Power BI Real Time Streaming - implement - Step 6 - JSON

Step 7: If you choose PubNub on the New streaming semantic model screen and select Next, you see the following screen:

Implement - Step 7

For example, you can fill in the below details such as Dataset name, Sub-key, Channel name, etc., and click on Next.

implement - Step 7 - Next

Then provide the details such as the Dataset name and Values from stream. Click on Create.

Implement - Step 7 - Create

You can view the created dataset in Your datasets section.

Power BI Real Time Streaming - implement - Step 7 - dataset

Step 8: If you choose Azure stream, you have to set up Azure stream analytics.

implement - Step 8

Note: You can also perform Power BI real-time streaming from the SQL server by connecting your SQL Server to the DirectQuery method.

Important Things to Note

The important things to note on Power BI Real Time Streaming include:

  • Validate that Power BI Real Time Streaming is supported by your data source
  • If you are using the Push semantic model, consider that using the Pin live option to pin the entire report will not result in an automatic data update
  • If you are using the Streaming semantic model or PubNub streaming semantic model, you may notice little latency between the data push in Power BI Service and the visual update.
  • You can use card streaming visual type to view the latest numeric data in your streaming data. However, it doesn’t support any DateTime or Text data types.
  • You can’t perform any data modeling on a streaming semantic model because data storage is not permanent. However, you can create measures and establish relationships.
  • For the Push semantic model, you can’t clear any data from a streaming semantic model though the data itself will be cleared after 1 hour.
  • Always focus on robust security and control mechanisms for real-time streaming dataset.
  • If you are using automatic page refresh for your reports, consider setting up the refresh intervals for visuals that are active during the page consumption.

Frequently Asked Questions

1. What are the key benefits of using Power BI Real-Time Streaming?

The key Benefits of Power BI Real-Time Streaming include:

Real-time data insights, changes in data trends, and quick identification of any hidden patterns using the streaming data
Real-time data visualization using the datasets received in Power BI Service that helps you to monitor/track critical metrics
You can pin tiles to dashboards that can provide live streams to end users with automatic refresh capabilities
Reduced time cycle for business decisions using real-time data analysis and reviewing the critical KPIs or other metrics
Ability to integrate with different data sources enabling you to perform data ingestion, mash-up, model, and build visualizations based on streaming data in the Power BI Service portal.
You can enhance the process optimization and efficiency in allocating resources with a reduced lead time by leveraging real-time information
Provision of setting up alerts and notifications on a real-time basis to detect any changes in underlying information or triggers.

2. Can I customize the refresh frequency of real-time data in Power BI?

Yes, you can customize the refresh frequency of real-time data in Power BI. You can set up the refresh frequency for visuals at a report page level that is active during the page consumption. The minimum refresh frequency is dependent on various factors such as the type of workspace used for publishing the reports, and capacity admin settings for Premium workspaces.

3. What types of data sources are compatible with Power BI Real-Time Streaming?

Power BI Real-Time Streaming supports different data sources including:

API: Power BI REST APIs or any other sources that can send data in JSON format using API
Azure-based services: This includes Event Hub, Stream Analytics, IoT Hub, etc.
Third-party APIs: You can use third-party APIs such as PubNub, Twitter, Kafka, etc.

4. Are there any limitations or considerations when using Power BI Real-Time Streaming?

When using Power BI Real-Time Streaming, you must evaluate the following limitations or considerations:

Consider the data volume limitations as high data volume may require infrastructure setup and result in network latency leading to degradation in streaming performance and poor user experience.
Real-time streaming may have additional cost aspects that must be factored into your considerations.
Setting up and managing real-time streaming can be complex and require subject matter expertise as compared to other datasets in the Power BI Service.
Power BI Real-time streaming only supports 3 types of datasets/semantic models for real-time visualization and dashboards.
Other than the Push semantic model, the rest of the dataset classes may experience data latency between the data push in Power BI Service and visualization.

This has been a guide to Power BI Real Time Streaming. Here we learn how to implement it, with classes datasets & examples, and points to remember. You can learn more from the following articles –

Reader Interactions

Leave a Reply

Your email address will not be published. Required fields are marked *