Power BI Refresh Monitoring: Detection, Alerts, and Root Cause
A refresh failure is the easy case. Power BI tells you about it. The hard cases are the refresh that never started, the refresh that succeeded on stale data, and the refresh that broke because of something three pipeline hops upstream.
Power BI refresh monitoring has three levels. Level 1 is failure detection — built into Power BI. Level 2 is missing refresh detection — requires a monitoring tool. Level 3 is upstream correlation — requires cross-stack lineage. Most environments need all three.
MetricSign vs Power BI Native
Three levels of Power BI refresh monitoring
Refresh monitoring has three levels, and most environments need all three.
Level 1 — Failure detection. Power BI covers this natively. When a scheduled refresh fails, the dataset owner receives an email. The limitation: one email per failure, no grouping, no on-call routing. If 14 datasets fail because the same ADF pipeline broke, the owner receives 14 separate emails, each with a different error string.
Level 2 — Missing refresh detection. Power BI does not cover this. A scheduled refresh that never starts — deferred by capacity contention, blocked by a gateway going offline before the window opens, or silently disabled after four consecutive failures — produces no log entry and no alert. The dataset's refresh history shows the last successful run, and nothing else. Detecting missing refreshes requires schedule learning: a tool that knows what was supposed to run, compares it against what actually ran, and fires when the expected event is absent.
Level 3 — Upstream correlation. Power BI shows what broke at the dataset layer. It cannot show why. Most production refresh failures originate upstream — in an ADF pipeline, a Snowflake query, a dbt model run, a Databricks job. A monitoring tool without cross-stack lineage shows the symptom (Power BI refresh failed at 04:00). A tool with cross-stack lineage shows the cause (Snowflake query timed out at 02:00, ADF pipeline failed at 02:15, Power BI refresh failed at 04:00).
Per-table timing: isolating the slow table
When a refresh takes twice as long as usual, Power BI shows the total refresh duration. It does not show which table caused the slowdown.
On PPU, Premium, and Fabric workspaces, the XMLA endpoint exposes per-table processing times. Monitoring tools that connect via the Windows Agent can surface this: which table took 6.2 seconds compared to its historical average of 2.1 seconds, which table is within normal range, and where the model build phase fits into the timeline.
This turns a 45-minute investigation — checking source query performance, reviewing partition strategy, running DAX Studio profiling — into a 2-minute answer: the slow table is identified in the alert.
What SummitView adds for refresh monitoring
SummitView covers all three refresh monitoring levels within the Power BI boundary. Its Missing Refreshes module uses schedule learning with a configurable lateness threshold (default: 2 hours). The Windows Agent adds per-table timing, row count tracking per table, and processing timeline visualization on PPU/Premium/Fabric workspaces.
For teams running Power BI only, SummitView provides the complete refresh monitoring picture. Its limitation is the Power BI boundary — upstream pipeline tools are not connected, so root cause identification for failures originating in ADF, Snowflake, or dbt requires a separate investigation.
Pricing: $299/month per tenant. 14-day free trial.
What MetricSign adds on top
MetricSign adds the upstream layer. When a Power BI refresh fails or goes missing, MetricSign checks whether an upstream ADF pipeline, Snowflake query, dbt model run, or Databricks job produced an error in the same window. If it did, the Power BI incident links directly to the upstream failure — one incident, root cause at the top, no separate investigation required.
MetricSign also adds the Fix Tab: every refresh failure alert includes a plain-English explanation of the error code and step-by-step resolution instructions with direct links to the relevant settings page. This removes the documentation lookup step that costs 10–30 minutes per incident.
Pricing: €299/month per organisation. 45-day free trial, no credit card.
Frequently asked questions
How does Power BI refresh monitoring work?
Power BI's native refresh monitoring sends an email to the dataset owner when a scheduled refresh fails. For deeper monitoring, dedicated tools connect to the Power BI REST API and Activity Events endpoint, collect refresh history on a regular schedule, and fire alerts with more context — including missing refresh detection, per-table timing, and (in cross-stack tools) upstream pipeline correlation.
What is missing refresh detection for Power BI?
Missing refresh detection alerts you when a scheduled Power BI refresh never starts — as opposed to starting and failing. Power BI's built-in monitoring only fires on failure events. A refresh deferred by capacity pressure, blocked by a gateway going offline, or silently disabled after repeated failures produces no native alert. Monitoring tools like MetricSign and SummitView detect this by learning the expected refresh schedule and alerting when the expected window passes without a completed refresh.
How do I get per-table refresh timing in Power BI?
Per-table refresh timing requires PPU, Premium, or Fabric workspace and XMLA endpoint access. Dedicated monitoring tools that connect via the Windows Agent or XMLA endpoint can surface per-table processing times, historical comparisons, and faster/slower badges for each table in the semantic model. This is available in both MetricSign and SummitView for qualifying workspaces.
Why does a Power BI refresh fail without an obvious error?
Most 'unexplained' Power BI refresh failures originate upstream — in the ADF pipeline, Snowflake query, or dbt model that produced the data the dataset was trying to refresh. Power BI sees a connectivity error or timeout, but the root cause is in a tool it doesn't monitor. Cross-stack lineage tools (MetricSign) link the Power BI failure to the upstream event that caused it. Without lineage, the investigation starts from the Power BI error message and works backwards manually.
Which monitoring tool is best for Power BI refresh failures?
For Power BI-only environments: SummitView offers missing refresh detection, per-table timing, row count anomaly detection, and a dedicated Missing Refreshes module. For environments where Power BI datasets depend on ADF, Snowflake, dbt, or Databricks: MetricSign adds upstream pipeline correlation so the root cause of every refresh failure is identified automatically, plus guided error resolution via the Fix Tab.