Power BI Real Time Streaming: 2 Easy Methods

on BI Tool, Data Integration, ETL, Tutorials • February 10th, 2021 • Write for Hevo

Do you wish to perform an in-depth Real Time analysis of your business data and require Power BI Real Time Data Streaming? If yes, then you’ve come to the right place. Businesses that are using Power BI will want to move data from all their data sources like the Cloud and Relational Database Management Systems into Power BI for analysis. To ensure that companies draw insights from up-to-date data rather than from outdated data, there is a need for a system that allows Power BI Real Time Data Streaming. This article will show you 2 easy ways of how you can set up Real Time Data Streaming in Power BI for your analysis requirements.

Table of Contents

Introduction to Power BI

Power BI Logo

Power BI is a popular business analytics service from Microsoft. It helps users to create reports, visualizations, and dashboards from various data sources. Power BI can be accessed as a fully managed Cloud Service or as a desktop application. Microsoft also provides a stripped-down version of the Power BI Cloud as a Power BI Report Server for the users who are keen on having a web version deployed on-premise. With more and more businesses choosing Cloud over On-premise setups, Power BI Cloud has now become a hot favorite among Business Analysts. Its ability to integrate seamlessly with the active directory authentication and Azure services makes it a good fit for companies who are already in the Microsoft stack.

More information about Power BI can be found here.

Ways of Setting Up Power BI Real Time Data Streaming

Method 1: Power BI Real Time Streaming using Manual Method

This method involves writing code or scripts that can automate the process of refreshing the data source.

Method 2: Power BI Real Time Streaming using Hevo’s No-code Data Pipeline

Hevo is a No-code Data Pipeline. It can load the data from 100+ data sources into Power BI without writing any line of code.

Give Hevo a try by signing up for the 14-day trial today!

Pre-Requisites

  • A Power BI account.
  • Basic understanding of Python and REST APIs.
  • Basic understanding of Real Time data.

Need to Implement Power BI Real Time Streaming

Power BI is primarily a decision-making tool that helps to extract valuable insights from the data. In the new age of analytics-driven decision-making, the one who has the latest data typically wins the market. There are also specific IOT based requirements where Real Time data has to be analyzed. In all these cases, Power BI’s Real Time data Streaming capability is a boon for organizations.

Understanding Power BI Real Time Streaming

Power BI facilitates Real Time Streaming using the following mechanism:

1) Streaming Datasets

Streaming Datasets allows external data sources to Push data to Power BI through REST APIs. They help you process the Real Time data as and when it comes in. Streaming Datasets do not store the data anywhere and hence are not suitable for cases where historical data analysis is required. They support data retrieval for up to an hour. They can ingest up to 5 requests per second with a maximum payload of 15KB. A caveat is that you can not build reports using a pure Streaming Dataset. 

2) Push Datasets

Push Datasets are similar to Streaming Datasets except for the fact that they can store data for historical analysis. This ability to store data also helps them to report on the data. They can ingest up to 1 request per second with a maximum payload of 16MB. 

More Information about Push Datasets can be found here.

3) PubNub Datasets

PubNub provides an SDK based on which you can implement Real Time communication platforms. Since this is a separate infrastructure as a service product, Power BI does not ingest any data and only displays the data by accessing the streams. PubNub will allow users to work around the throughput and request data size limits imposed by Power BI.

More information about PubNub Datasets can be found here.

2 Methods to Implement Power BI Real Time Streaming

Method 1: Power BI Real Time Streaming using Manual Method

You will now implement a Real Time Streaming Dashboard in Power BI using the Streaming Datasets functionality:

Procedure for Implementation

Step 1: As a first step, head to your Power BI application and click ‘Create’ from the top right corner. You should then click on the Streaming Dataset option.

Creating Dashboard - Power BI Real Time

Step 2: From the options, click on the ‘API’ tab. This will allow you to create a REST API based Streaming Dataset. After creation, you will be provided with a URL to which data can be pushed.

PubNub  - Power BI Real Time

Step 3: Type the Dataset name and add the data values that you will be sending. For now, add the name as “Temperature Data” and add two values – Temperature and Time. Ensure that you select the type as Text for Temperature and Datetime for Time.

New Streaming Dataset  - Power BI Real Time

You can find a Historic data analysis toggle on the above screen. If you enable that the Streaming Dataset then becomes a Push Dataset and the data will be stored by Power BI even beyond the 1-hour window. On the next screen, you will get the URL to which data must be posted. Note the URL for future implementation.

Step 4: You can proceed to create a dashboard for visualizing the data. From the top right corner click ‘Create’ and select ‘Dashboard’. Give the dashboard a name.

Creating Dashboard  - Power BI Real Time

Step 5: Once the dashboard is created, click ‘Add Tile’ and select ‘Custom Streaming Data’ from the menu.

Adding tile  - Power BI Real Time

Step 6: Select a visualization type and add values. Here you can select the line chart and add Datetime on X-axis and Temperature on the Y-axis.

Custom Streaming Data Tile  - Power BI Real Time

Step 7: The next step is to implement a short script to post data to Power BI. Use the below Python script to do this.

from datetime import datetime
import requests
import json

# Use the URL provided while creating the dataset.
url = "<Streaming_data_url>"

# timestamps should be formatted like this
now = datetime.strftime(
  datetime.now(),
  "%Y-%m-%dT%H:%M:%S"
  )

data = [
  {
     "temperature": 56.7,
    "datetime": now
    }
  ]

# post data to the streaming API
headers = {
  "Content-Type": "application/json"
  }


response = requests.request(
    method="POST",
    url=url,
    headers=headers,
    data=json.dumps(data)
)

Step 8: Run the script and you can then head to your dashboard to find the incoming data. In reality, instead of the script, there will be a sensor or a small industrial PC that keeps sending this data to the URL. 

That completes the steps involved in setting up a Streaming Dataset in Azure. 

Limitations of using the Manual Method

Real Time Streaming is a very useful feature in Power BI that enables analysts to keep track of data as and when it arrives. The main drawbacks of using this approach are detailed below:

  • Power BI places ingestion limits in the case of Streaming Datasets using REST APIs. Your Streaming Data sender should have the intelligence to work around these limits. 
  • In case, you want to analyze data that is coming from some external source like clickstreams to Google Analytics, you will have to do quite a bit of custom development to post the data. 

A solution to address these drawbacks is to use a third-party ETL tool like Hevo that can facilitate Data Streaming between most of the popular external sources with Power BI through a few clicks. 

Method 2: Power BI Real Time Streaming using Hevo’s No-code Data Pipeline

Hevo Feature Image  - Power BI Real Time

Hevo is a No-code Data Pipeline. It supports pre-built data integrations from 100+ data sources. Hevo offers a fully managed solution for your fully automated pipeline to set up Power BI Real Time Data Streaming and will let you directly load data to Power BI from all your data sources. It will automate your data flow in minutes without writing any line of code. Its fault-tolerant architecture makes sure that your data is secure and consistent. Hevo provides you with a truly efficient and fully-automated solution to manage data in Real Time and always have analysis-ready data at Power BI.

Hevo focuses on three simple steps to get you started

  • Connect: Connect Hevo with all your data sources by simply logging in with your credentials.
  • Integrate: Consolidate your data from several sources in Hevo’s Managed Data Integration Platform and automatically transform it into an analysis-ready form.
  • Visualize: Connect Hevo with your desired BI tool such as Power BI and easily visualize your data to gain better insights.

As can be seen, you are simply required to enter the corresponding credentials to implement this fully automated data pipeline without using any code to set up Power BI Real Time Data Streaming.

Let’s look at some salient features of Hevo

  • Fully Managed: It requires no management and maintenance as Hevo is a fully automated platform.
  • Data Transformation: It provides a simple interface to perfect, modify, and enrich the data you want to transfer. 
  • Real-Time: Hevo offers Real Time data migration. So, your data is always ready for analysis.
  • Schema Management: Hevo can automatically detect the schema of the incoming data and maps it to the destination schema.
  • Live Monitoring: Advanced monitoring gives you a one-stop view to watch all the activities that occur within pipelines.
  • Live Support: Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.

Explore more about Hevo by signing up for a 14-day free trial today.

Conclusion

This article shows the implementation of 2 easy methods that can help you in set up Power BI Real Time Data Streaming. The process can either be implemented using Power BI which is not natively a live Data Streaming tool and hence would require some form of code to automate the process or it can be automated using Hevo. Hevo provides a No-Code Data Pipeline that allows accurate and Real Time replication of data from 100+ sources of data.

Give Hevo a try by signing up for a 14-day free trial today.

Visualize your Data in Power BI in Real-Time