This articles describes the necessary setup in the Power BI Service.
- 1. Create a workspace
- 2. Create a new streaming dataset
- 3. Types of Real-Time Datasets
- 4. Custom Streaming Data Tiles
- 5. Historic Data Analysis
- 6. Pinning Power BI Report Visuals to Dashboards
1. Create a workspace
A Power BI Pro license is required to setup Streaming Datasets in the Power BI Service.
Login to the Power BI Service at https://app.powerbi.com/
Select Workspace > Create a workspace. Give your workspace an available name.
In the new Workspace select New > Streaming Dataset > API and choose Next.
2. Create a new streaming dataset
Give your new Streaming Dataset a name and add the Values as shown below. It is important to set the data type in the Power BI Service for each value added. The choices are Text, Number and DateTime.
Note – the value names are case-sensitive, and must exactly match the values in Business Central, plus the 3 mandatory values detailed previously.
3. Types of Real-Time Datasets
You can configure the Streaming Dataset in different ways.
- Streaming Dataset
- Historic data analysis is switched off
- Data is stored in a temporary cache for a period of 1 hour
- The only way to visualise this data in Power BI is by using Custom Streaming Data Tiles on a Power BI Dashboard
- Push Dataset
- Historic data analysis is switched on
- Data is stored in a temporary cache for a period of 1 hour
- Data in addition is persisted to a database in the Power BI Service
- You can visualise data by using Custom Streaming Data Tiles or since the data is persisted to a database, you can also create Power BI Reports with this data.
4. Custom Streaming Data Tiles
A Power BI Streaming Dataset by default holds data in a temporary cache for a period of 1 hour. The only way to visualise the data is by adding Custom Streaming Data tiles to a Power BI Dashboard.
Custom Streaming Data tiles are optmised to receive regular updates of data and to update immediately without having to refresh the browser. There are however some limitations to the number of visualisations available and formatting options.
Within the Workspace that was created, chose New > Dashboard and give the Dashboard a name. Then choose Edit > Add a tile > Customer Streaming Data and click Next as shown below.
Choose the correct dataset on the following screen and choose Next.
On the following page, Choose the Visualisation Type and chose the Fields to be displayed. The following example shows a Card showing Sales Current Year.
Set the formatting on the pencil icon tab as required.
Press Next. Complete any other required information, such as Title or Subtitle and finally choose Apply.
The tile is displayed on the Dashboard. Note that the lighting flash icon indicates that this is a Custom Streaming Data tile.
Note that it is possible to add tiles from multiple different Streaming Datasets onto the same Dashboard.
The streaming tile will now update immediately when a new value is received from Business Central.
5. Historic Data Analysis
If Historic Data Analysis is enabled when creating a Power BI Streaming Dataset, the data is still stored in a temporary cache for 1 hour, however the dataset also becomes a Push Dataset. This means that the data sent to the Power BI Service is also persisted to a Power BI Dataset.
With Historic Data Analysis enabled, and an available Power BI dataset storing the data, we can now also create a Power BI Report which gives us a wider range of visualisations to choose from.
Navigate to the Dataset inside your Workspace and under More Options you will now see a menu choice to Create report.
Note that the option to Create Report is only available when Historic Data Analysis is enabled.
After choosing Create Report, you will see the RealTimeData Dataset available in the Fields section of the Power BI Report Designer.
The following shows an extract of the RealTimeData Dataset in a simple Power BI Table visualisation.
The data has been pushed to the Power BI Service from Business Central every minute. In this case, the data for Sales Current Year, Sales Last Year and Sales CY-LY Variance are actually unchanged, but the timestamp, localtimestamp and PushId field values have changed for each set of data pushed.
Since we have many versions of the same dataset persisted to a database table in the Power BI Service, when building a Power BI reports, we often need to filter the data in order that we just see the most recent record that has been received from Business Central.
Please see the following example for a simple KPI object showing the value of Sales Current Year.
The pushId will always incrementally have a higher value each time data is pushed to the Power BI Service. The pushId can therefore easily be used to filter a visual, so that it only shows the most recent version of the data.
To add a Filter on a Power BI visual in this way, carry out the following steps.
- Drag the pushId field to the box under Filters on this visual labelled Add data fields here
- Change the filter type to Top N and enter 1 in the right-hand box
- Drag the pushId field to the By value box and select from the dropdown Last pushId
If you want to create a visual that displays a value changing over time, you can for instance use the localtimestamp field across the x axis and then apply the following filter which will show the last 30 values based on the incremental pushId field.
6. Pinning Power BI Report Visuals to Dashboards
When Power BI visuals based on a RealTimeData dataset are pinned to a Power BI Dashboard, they update automatically as soon as new data is received.
When you have prepared the Power BI Report visuals and applied the necessary filters, use the drawing pin icon to pin the Power BI Report object to a new or existing Power BI Dashboard.
Note – Report visuals will only update automatically on a Power BI Dashboard if they are pinned to the Dashboard individually. If you pin an entire Page to a Dashboard, then the report visuals will not update automatically.
A Power BI Dashboard can comprise of Report objects from many different Power BI Reports.
The following shows an example dashboard comprising of different object types.
Power BI Dashboards once designed can be shared with other users.
Each Power BI Dashboard also has an equivalent mobile layout and there is a Power BI mobile app available for Android and iOS. The following shows an iOS screenshot which is the mobile layout for the same Dashboard shown above. The visualisation objects will also update in Real-time in the Power BI mobile apps as soon as new data is received from Business Central to the Power BI Service.