Note: see this article for some new insights.
Since the beginning of this year a new version of Power BI has been release in preview and since half March this version is available worldwide. One new feature of this preview is that there is now an API to push data programmatically to Power BI. While pushing this data the dashboard based on the dataset is altered in real time giving a ton of opportunities.
Azure Stream Analytics
One of the advantage of using Stream Analytics between the sender and the Power BI API is that the throughput of the API is limited and can be increased by using Stream Analytics. Another advantage is that Stream Analytics can be used to filter the events and we can use multiple sender apps to send events to the service hub and be processed by a single processor app and both will reduce the amount of API calls.
With the current versions of Stream Analytics I have to use a processor app to consume the output of the stream and the Power BI API, because the only usable output is via an event hub. Maybe in a future release there will be a option to direct output to an API. In my case I will use the processor app to do some extra aggregation to reduce the number of call to the Power BI API.
During the last SQLBits Kasper de Jonge (PM of Power BI) showed the possibility to use Azure Stream Analytics. And the developer site of Power BI also mentions the possibility, but as ‘coming soon’. But I couldn’t wait and tried it my self and got it working. In a series of blogposts I will provide a guide to achieving this yourself.
The idea is quite simple. There are two apps a sender (Power BI App) and processor (Power BI Process App) and a Stream Analytics pipeline connected to Azure Service Hub as input and output. And the last step is that the processor app will feed the Power BI Dashboard via the API.
What do we need?
First we need an active Azure subscription and be part of the Stream Analytics preview, you can apply via here. Also we need an active Power BI subscription which is linked to your Azure Active Directory of your subscription. See this link for more information.
- Introduction: part 1
- Configuring Azure services: part 2
- Sending, reading and processing the events: part 3