How to Get Real-Time Data in Power BI

Cody Schneider8 min read

Your Power BI dashboard shows last week’s numbers, but a flash sale is happening right now and you need to see live results. Relying on outdated reports feels like driving by looking in the rearview mirror. This guide digs into the different ways you can get real-time or near-real-time data into Power BI, from simple automatic refreshes to live streaming a constant flow of information.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

What "Real-Time" Actually Means in Power BI

Before jumping into the "how," it's helpful to understand that "real-time" isn't a single, one-size-fits-all feature. It exists on a spectrum, and the right method depends entirely on your needs. For instance, a weekly marketing report doesn't need to be updated every second, but a factory's production monitor absolutely does.

  • Near-Real-Time: This is the most common use case. Your data updates automatically at a set interval, like every five minutes or every hour. It's perfect for tracking campaign performance, sales dashboards, or hourly web traffic without overwhelming your systems.
  • True Real-Time (Streaming): This is when data points are pushed into your dashboard the instant they are generated. Think of monitoring IoT sensor data, tracking a live social media feed, or watching live service response times. The visual updates in seconds, reflecting a constant flow of new information.

Choosing the right approach will save you time, improve performance, and ensure you're getting insights at a speed that matches your decision-making process.

The Foundation: Understanding Power BI's Data Connection Modes

The method you use for real-time data is directly tied to how Power BI connects to your data source in the first place. There are three core connection modes you need to know about.

1. Import Mode

This is the default and most common mode. Power BI copies (or imports) a snapshot of your data from the source and stores it in a highly compressed format within the .PBIX file.

  • Pros: Excellent performance because Power BI queries its own internal data engine, not the original source. You get full access to all Power Query and DAX functionalities.
  • Cons: The data is static until you schedule a refresh. Scheduled refreshes are great for daily or hourly updates but are not real-time. The number of daily refreshes is limited based on your Power BI license (e.g., 8 for Pro, 48 for Premium).
GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

2. DirectQuery Mode

With DirectQuery, Power BI doesn't import any data. Instead, it sends queries directly to the source database every time a user interacts with a report (like clicking on a filter or a chart element). The data always stays in the original location.

  • Pros: Your report data is always as current as the source data, making it ideal for near-real-time scenarios. You can also work with datasets that are far too large to import.
  • Cons: Report performance is entirely dependent on the speed of the underlying data source. If your database is slow, your dashboard will be slow. Additionally, there are some limitations in Power Query and certain complex DAX functions are not supported.

3. Live Connection Mode

This is a specific type of DirectQuery used for connecting to SQL Server Analysis Services (SSAS), Azure Analysis Services (AAS), and Power BI Datasets. Here, Power BI acts purely as a visualization layer for a pre-existing data model. You can't change the data model, but you get near-real-time access and robust performance.

Method 1: Automatic Page Refresh for Near-Real-Time Dashboards

If you're using DirectQuery and need a report screen to show the latest data without anyone clicking on it, Automatic Page Refresh (APR) is your best friend. This feature is perfect for dashboards displayed on TV screens in an office or a command center. Note that you'll need a Power BI Pro or Premium license for this to work in the Power BI service.

How to Set It Up:

  1. Open your report in Power BI Desktop.
  2. Make sure you are not selected on any specific visual. Click on the background of a page to select the page itself.
  3. In the Visualizations pane, click the Formatting icon (it looks like a paintbrush).
  4. Find the "Page refresh" toggle at the bottom and switch it on.
  5. This will reveal the refresh options:

Once you've configured this and published the report to the Power BI Service, the page will automatically refresh and pull the latest data from your DirectQuery source. You can walk away, and the chart will update itself as new sales or registrations come in.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Method 2: Streaming Datasets for True Real-Time Updates

When you need data to update within seconds of creation, you need a streaming dataset. Unlike Import or DirectQuery where Power BI pulls data, streaming involves pushing data directly into a Power BI endpoint. This is the go-to method for IoT, social media monitoring, or any high-velocity data stream.

There are three types of streaming datasets you can create in the Power BI Service:

  • API: You get a REST API endpoint that your application can push JSON data to.
  • Azure Stream Analytics: A powerful Azure service designed for real-time analytics on data from IoT hubs, Event Hubs, and more. It can process, analyze, and output data directly to a Power BI streaming dataset.
  • PubNub: A third-party data stream network service that integrates neatly with Power BI.

Creating a Simple API Streaming Dataset:

Let's walk through the most common approach using the API.

  1. In the Power BI Service, go to your workspace and click + New > Streaming dataset.
  2. Select API as your source and click Next.
  3. Now, define your data structure. Give your dataset a name (e.g., "Live Website Clicks") and define the data points you expect to receive. For each data point, specify its name and data type (Text, Number, DateTime).
  4. For an effective stream, make sure to toggle on "Historic data analysis." This is very important! Without it, data is only briefly held in memory for visualization and is immediately gone. With it on, Power BI will also store the data, allowing you to create standard reports on your stream's history.
  5. Click Create. Power BI will then give you a Push URL and sample JSON code. This URL is what your developer or automation tool (like a Python script or an Azure Function) will post data to.

To visualize this, go to a dashboard (not a report) and add a new tile, selecting "Custom Streaming Data" as your source. From there, you can choose your streaming dataset and build visuals that update in real time as data is pushed to your endpoint.

Method 3: Combining DirectQuery with the On-Premises Data Gateway

What if your data lives on a server inside your company's firewall? That's where the On-premises data gateway comes in. The gateway is a secure bridge that allows the cloud-based Power BI Service to connect to your local data sources (like a SQL Server database in your office).

When you combine DirectQuery with the gateway, you enable near-real-time reporting on your internal data without ever having to move it to the cloud.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

The Workflow Looks Like This:

  1. In Power BI Desktop: Connect to your on-premises data source (like SQL Server) and be sure to select DirectQuery as the connection mode.
  2. Build Your Report: Create your charts and tables just like you normally would.
  3. Publish to Power BI Service: Save and publish your report to your desired workspace.
  4. Configure the Gateway: In the Power BI Service, a yellow warning will appear on your dataset saying it cannot be refreshed. Click on it. You will be taken to the dataset settings, where you must map your datasource connection through a pre-installed data gateway. Once configured, Power BI will know how to securely send queries back down to your local server.

Now, whenever anyone opens your published report, visuals will query your on-premise database via the gateway and display the latest information.

Key Considerations for Real-Time Data

  • Performance: Real-time querying can be taxing on your source database. Too many users or overly complex visuals using DirectQuery can slow things down for everyone. Optimize your underlying database and keep visuals simple.
  • Licensing: Features like Automatic Page Refresh and higher limits on API streaming are tied to Power BI Pro and Premium capacities. Make sure your licensing matches your real-time ambitions.
  • Use Case vs. Cost: Is second-by-second data a "nice-to-have" or truly essential for decision-making? True streaming solutions require more development and architectural work. Always match the solution to the business need.

Final Thoughts

Setting up real-time data in Power BI comes down to fitting the right method to the job. Whether you're using simple Automatic Page Refreshes for near-real-time updates or building a true streaming dataset for constant data flows, you can transform your dashboards from historical records into live windows into your business.

While Power BI offers powerful flexibility for diving deep into data configuration, we know that getting all your data sources connected and updating in real time can feel like a full-time job. At Graphed, we designed the entire experience to be effortless. We handle the annoying pipeline and warehousing work for you, so connecting sources like Google Analytics or your CRM is just a click away. You can then create live, auto-updating dashboards by simply asking questions in plain English - no need to configure refresh intervals or gateways. Your real-time data is just... there.

Related Articles