top of page

Real-Time Streaming In Microsoft Power BI

Updated: Aug 17, 2023

Real-Time Streaming In Microsoft Power BI

It is possible to stream data to, and update dashboards in real-time using Power BI. Power BI dashboards and visualizations can show and update real-time data and visualizations. You may use a wide variety of time-sensitive data collectors and transmitters for streaming data.

Three kinds of real-time datasets are available for presentation on real-time dashboards, as follows:

  1. Push dataset

  2. Streaming dataset

  3. PubNub streaming dataset

Push Dataset

The Power BI service receives data through a push dataset. As soon as you generate a dataset, the service creates a new database in Power BI to store the information. If the data is stored in an underlying database, reports may be generated. Using Power BI's visuals, data alerts, pinned dashboard tiles, and more, you can construct these reports and their visuals using all of Power BI's report development tools.

A dashboard may pin a visual from a report after it has been produced using the push dataset. The dashboard's visuals are changed in real-time as the data changes. The dashboard refreshes each time new data is received in the service.

Pinned tiles from a push dataset have the following two characteristics to keep an eye out for:

  • The data will not be immediately updated if you use the pin live page option to pin a whole report.

  • This feature is available for dashboards that have visuals attached to them so that users may ask inquiries in natural language. You may save the results of a Q&A inquiry to your dashboard, and that dashboard will also be updated in real-time.

Streaming Dataset

Power BI only keeps data in a temporary cache that soon expires when using a streaming dataset; however, the data is still delivered into the service. Only images with a short-term sense of history, such as a line chart with a one-hour time frame, are shown using the temporary cache.

The data from the stream cannot be used to create report visualizations since there is no underlying database. Filtering, Power BI visualizations, and other report capabilities are not available because of this.

Adding a tile and using the streaming dataset as a custom streaming data source is the only way to see a map’s streaming dataset. Creating custom streaming tiles based on a streaming dataset can show real-time data swiftly. Since there is no requirement for the data to be put into or read from a database, there is minimal latency between when the data is delivered into the Power BI service and when the visual is refreshed.

In reality, streaming datasets and associated streaming visuals are best employed in scenarios where the latency between data push and data visualization is crucial. The data should also be sent in a format that can be readily displayed without further aggregations. Temperatures and pre-calculated averages are examples of data that is ready to go.

PubNub streaming dataset

The Power BI online client utilizes the PubNub SDK to read an existing PubNub data stream with a PubNub streaming dataset. The Power BI service does not save any data. If you only permitted authorized outbound traffic from your network, you would have to classify this call to PubNub as acceptable since it is made straight from the web client.

This means that you can't generate reports based on the data from PubNub since there is no database in Power BI; thus, you can't do things like filtering, Power BI visualizations, etc. A tile may be added to a dashboard and a PubNub data stream configured as the source for visualization of the PubNub streaming dataset

Tiles based on a PubNub streaming dataset are the best option to present real-time data. Data updates in Power BI are instantaneous since the service is directly linked to the PubNub data stream, which reduces latency.

Streaming dataset comparison

The Benefits and Drawbacks of Using a Live Dataset

Data is kept in a temporary cache for Streaming datasets, which rapidly expires. Only the most recent hour's worth of data may be stored in the dataset.

A Streaming dataset in Power BI cannot be used without an underlying database to store your data. Only dashboard tiles may be created by you.

As a result, filtering options in Power BI reports aren't accessible. Compared to utilizing a Push dataset, dashboard tiles are updated with fluid animations in this approach. In addition, the amount of time it takes for data to be created and shown is greatly reduced, making it suitable for monitoring sensitive applications or equipment. For example, you may aggregate data before it reaches Power BI so that you're not confined to the raw data that comes from your source.

Historical data analysis cannot be performed. Filtering for a certain period or dimension, DAX expressions, drill-through, or tooltip capabilities are not accessible in the report.

Your data aggregation options are likewise restricted. Latency will be introduced to your dashboard if you use complex aggregations that need several database joins and filters. A dashboard that displays sophisticated data at the expense of poor performance is a trade-off. Some more possibilities include Push datasets or dashboards that update every hour.

Sample real-time Dashboard
Image courtesy of Nathan Cheng


If you have any questions regarding the Power BI training, please don't hesitate to contact us directly at


bottom of page