PorcuBI

Build a Real-Time Intelligence Dashboard in Fabric: A Step-by-Step Guide

Real-time intelligence dashboards are great for businesses that want to make quick, informed decisions. Microsoft Fabric real-time dashboards help organizations to stay updated with live data, identify trends, and respond to changes as they happen.

Building a real-time dashboard might sound complicated, but Microsoft Fabric makes it more accessible than ever. In this article, I’ll provide step-by-step examples of an implementation.

Microsoft offers a 7-step tutorial; see the Implementing Real-Time Intelligence tutorial here for more guidance.

Fabric Real-time dashboard with several datapoints showing the event data
A Real-time Dashboard in Fabric

Why Use a Real-Time Intelligence Dashboard?

Businesses often need to monitor activities, measure progress, and make decisions in real time, and that’s where real-time intelligence dashboards come in.

  • Faster Decision-Making: Access near real-time data to react immediately to changes, whether a sudden spike in demand or a potential operation issue.
  • Improved Monitoring: Track key metrics and performance indicators immediately, ensuring you stay ahead.
  • A Simplified Approach: Fabric lets you connect, process, and visualize data in one platform – right where your regular Power BI reports live.

Getting Started with Real-Time Intelligence in Fabric

An example of a real-time intelligence flow in Microsoft Fabric. From an eventstream and eventhouse, to the kql database to a real-time dashboard

To create a real-time intelligence dashboard in Fabric, we first need to set up the flow. This flow begins with loading demo data using an eventstream into an eventhouse, followed by storing it in a KQL database. Next, KQL is used to query the data for visuals, which are then integrated into the real-time dashboard.
Here’s a high-level overview of the process:

Real-Time Eventhouse and Eventstream

  1. First we need to create an Eventhouse: When you create an eventhouse, a KQL database is automatically included.

  2. Then, we need to load some data. We do that using an eventstream. For this example, I’m using the Microsoft bikes demo dataset. In the stream, we can also perform all the necessary data transformations, such as cleaning or filtering the data, before sending it to the event house.

An Eventstream in Microsoft Fabric Real-time Intelligence Solution. Showing a flow from Streaming data to Manage fields to an eventhouse.
An example of an eventstream in Fabric

Query Data with KQL

Once the data is stored in the event house, the next step is to query it using KQL (Kusto Query Language). KQL is a query language that efficiently retrieves and analyzes large datasets, which is ideal for real-time data analysis.

Let’s look at a few examples of KQL queries and how they can be used to create visualizations for a real-time dashboard in Fabric:

Bikes by Neighborhood

This query summarizes the number of bikes for selected neighborhoods over a specified time period (specified in my dashboard parameter).
Here’s the query:

				
					Bikes
| where current_time between (_startTime .. _endTime)
| where  (Neighbourhood in (selectedNeighbourhoods))
| summarize 
    TotalBikes = sum(No_Bikes), 
    by Neighbourhood 


				
			
Real-time dashboard Bar Chart for Bike Sales

Bikes by Neighborhood & Status

To create a stacked bar chart instead of a simple one, we need to adjust the query so that the data is grouped by categories that can be represented in stacks (like bike status or other categorical fields):

				
					Bikes
| where current_time between (_startTime .. _endTime)
| where  (Neighbourhood in (selectedNeighbourhoods)) 
| summarize TotalBikes = sum(No_Bikes), 
BikePoints = dcount(BikepointID),
Emptydocks = sum(No_Empty_Docks) by Neighbourhood
				
			
Stacked bar chart Real-time Intelligence

Bikes by Neighborhood & Status

This query creates a column chart showing the number of bikes at each bike point. I use render in this query. The render statement in KQL specifies the type of visualization you want to create from the query results.

				
					Bikes
| summarize arg_max(current_time, No_Bikes) by BikepointID
| sort by BikepointID
| render columnchart with (ycolumns=No_Bikes, 
xcolumn= BikepointID)
				
			
Real-time dashboard Column chart

Visualizing Data in a Real-Time Dashboard​

There are multiple ways to add visuals to your real-time dashboard in Microsoft Fabric.

  1. Pin to Dashboard from KQL Query Set: After running your KQL query, click the Pin to Dashboard button to add the visual directly to your real-time dashboard.
  2. Add a New Tile directly in the Real-Time Dashboard. In the dashboard edit mode, click Add New Tile, then write your KQL query. Here you can also select your preferred visual type.

Once your visuals are added, make sure your dashboard refreshes in your preferred interval. You can do this by clicking on Manage -> Refresh Rate. 

A screenshot of a KQL Queryset with the option pin to dashboard
A Real-time Dashboard in Fabric

Try a Real-Time Dashboard implementation in Fabric!

Try this tutorial from Microsoft about implementing a Real-Time Intelligence solution here. 
The tutorial covers each essential part, beginning with setting up a Fabric capacity and loading data into the Real-Time Analytics hub. From there, you transform the data and publish it as an event stream to an Eventhouse (where you use a KQL database). Finally, you visualize your data in both a Fabric real-time dashboard and Power BI.

To help you get a feel for the process, I followed the tutorial and recorded it.

Real-time dashboard vs. Power BI

If you’re curious about how real-time dashboards in Fabric compare to Power BI, I’ve written a detailed article exploring the differences and use cases. You can find it here.

Fabric Real-Time Intelligence Real-time dashboard vs a Power BI report
A Real-time Dashboard in Fabric and a Power BI report
Scroll to Top