Microsoft Project Online retired on September 30, 2026. Plans exported from it import into Onplana.Migration guide
Back to BlogRebuilding Project Online Power BI Reports After Migration
Migration

Rebuilding Project Online Power BI Reports After Migration

Project Online Power BI reports built on OData break the moment you cut over. Here's a connector-by-connector rebuilding strategy.

Onplana TeamUpdated 9 min read

Here's a test. Pull up the Power BI workspace your PMO uses for Monday morning status reports. Open the semantic model that drives it. Look at the data source. If that source URL contains _api/ProjectData, the report was reading Project Online live, and it stopped with the service on September 30, 2026.

Most teams knew this in the abstract. Fewer inventoried which specific reports depended on the Project Online OData feed, classified which were mission-critical, and built a rebuilding sequence. If yours were not rebuilt before the date, the inventory below is still where to start.

This post is the practical guide: how the Project Online OData reporting model works, which KPIs survive a field-mapping exercise, which need redesign, and what order to do the work in so the Monday morning dashboard runs on the new data source.

Context: this post is one piece of the wider 2026 retirement landscape, the consolidated reference covering all three Microsoft Project ecosystem retirements that happened in 2026.

TL;DR: Project Online Power BI reports run on a proprietary OData schema unique to PWA. Tables like Projects, Tasks, Assignments, and Timesheets won't exist in your new tool's export API under the same names or structure. Some KPIs, including budget vs. actual and schedule variance by project, rebuild cleanly with field mapping. Others, including time-phased actuals and OData-computed measures, need redesign. Run a report inventory now, triage by business criticality, and rebuild in order: connector, then semantic model, then visuals.

How Project Online Power BI connections actually work

Project Online exposes its data through an OData v3 endpoint at /_api/ProjectData/[ProjectWebAppUrl]/. This is a read-only reporting feed. Power BI connects using the built-in OData connector, authenticates with Office 365 credentials, and pulls from named entity sets: Projects, Tasks, Assignments, Resources, Timesheets, Baselines, Issues, Risks, and about 40 others.

Each entity set becomes a table in Power Query. The report developer joins those tables, applies business logic in DAX measures, and builds the visuals. The result is a report that refreshes on schedule, pulling live data from Project Online every time it runs.

This architecture had one critical dependency: the OData endpoint had to be online and authenticated. Project Online retired on September 30, 2026. Anything that read it live stopped with it; anything already exported or imported did not. Historical data already loaded into the dataset stays readable until someone deletes the dataset, but no new data comes in. Any report with a rolling time window, a "last refreshed" filter, or a date-relative measure starts showing stale or broken numbers immediately.

The failure mode is not "reports show old data and people notice." The failure mode is "the dataset refresh fails with an authentication error, Power BI marks the report as failed, and executives see a broken dashboard Monday morning during the highest-scrutiny week of the migration."

The OData entity sets your reports most likely depend on

In most Project Online Power BI implementations, five entity sets carry the majority of the reporting load. Knowing exactly which ones your reports depend on tells you the scope of the field-mapping work ahead.

Projects: Project-level fields including status, finish date, budget, schedule performance, and custom enterprise fields tagged as "project-level." This table is the spine of most PMO dashboards.

Tasks: Task-level data for all tasks published through the Project Desktop client or via API. Includes duration, start, finish, percent complete, critical path flag, baseline fields, and constraint types. Note that tasks in personal MPP files outside the PWA scope do not appear here.

Assignments: Resource assignment data, including who is assigned to which task, at what units, with what planned work, actual work, and remaining work. The source for utilization reports, capacity heatmaps, and workload analysis.

Timesheets: Actuals reported by resources through the PWA timesheet system. Includes the reporting period, hours by task, approval status, and submitted-vs-approved delta. Most finance-facing actuals reports depend on this table.

Baselines: Project-level and task-level baseline snapshots including baseline start, finish, work, and cost. The source for schedule-variance and cost-variance reporting against the original approved plan.

Every one of these tables is Project Online-specific. No modern PM tool exposes an OData endpoint with the same schema, the same entity names, or the same grain. After migration, you need new data sources for every report that touches any of them.

Triaging your report inventory before you start rebuilding

Not every report is worth rebuilding. Running an inventory and triage pass before writing a single line of new DAX saves significant rework.

Pull the dataset usage report from the Power BI admin portal. It shows the last-accessed date for every report and semantic model in your workspace. Sort by last-accessed date. Any report not opened in 90 days is a strong archive-or-retire candidate; any report opened in the last 30 days is a rebuild-now priority.

Classify each report into one of three buckets:

Rebuild before cut-over: Reports with active executive consumers, reports tied to operational decisions (resource allocation, budget approval, project status), and reports referenced from other dashboards or embedded in SharePoint pages.

Rebuild in the first 30 days after cut-over: Reports used monthly or quarterly, reports whose consumers can tolerate a manual export as a bridge, and reports that can be partially replaced by built-in dashboards in the new PM tool.

Archive or retire: Reports built for a one-off analysis that has since been answered, duplicate reports that cover the same data as a higher-priority rebuild, and reports that the new PM tool's built-in reporting fully replaces.

Build a spreadsheet with one row per dataset: dataset name, workspace, last-accessed date, business owner, tier (rebuild now / rebuild later / archive), and assigned developer. This spreadsheet becomes the tracking artifact for the entire reporting migration.

What rebuilds cleanly and what needs redesign

Understanding this distinction before you start saves weeks of surprises during the semantic model rebuild.

The diagram below shows the data flow from Project Online's OData source to reports, and what that path looks like after migration to a modern PM tool with a REST or webhook API.

Project Online OData to Power BI before and after migration Before (Project Online) After (Modern PM tool) Project Online OData v3 feed /_api/ProjectData Power BI Breaks Sep 30 New PM Tool REST API / export endpoint Power BI Rebuilt Sept 30, 2026: service retired

What rebuilds cleanly (field mapping is enough):

  • Project status, phase, and health fields: every modern PM tool exposes these as first-class project attributes.
  • Budget vs. actual at project level: standard financial fields present in all enterprise PM tools, just with different column names.
  • Schedule variance: baseline finish minus current finish, by project. Universally available once you have baseline data migrated.
  • Resource assignment totals and utilization rates: assignment count and assignment hours are available in all tools; column names change but the data is there.
  • Issue and risk counts per project: standard metrics any PM tool exposes via its API.

What needs redesign:

  • Time-phased actuals: Project Online's OData exposes timesheet data by period, allowing charts that show hours worked per week per resource or per project. Most modern PM tools expose only summary totals, not period-by-period breakdowns at the task level. Recreating time-phased charts requires either a different data model or a warehouse layer between the PM tool and Power BI.
  • OData-computed columns: Project Online's OData schema includes columns that are computed server-side based on field logic defined in PWA. These don't exist in the destination tool's API. Recreate the computation in DAX or Power Query.
  • Cross-project portfolio aggregations using Project Online's portfolio analyzer entities: no universal replacement; depends on whether the destination tool exposes portfolio-level entities in its API.

The rebuilding sequence that avoids rework

Rebuild in this order: connector first, then semantic model, then visuals. Inverting this sequence produces expensive rework.

Step 1: Build and validate the new connector. Your destination PM tool exposes an API, REST endpoint, or export mechanism. Authenticate in Power BI, pull the raw tables, and verify that the data shapes match your expectations. This is pure data engineering; no DAX, no visuals. At this stage, confirm that every entity set you plan to report on is actually exposed by the new tool's API with the granularity you need.

Step 2: Rebuild the semantic model. Map source columns from the new connector to the column names expected by your existing DAX measures. Where columns are missing, build computed columns in Power Query. Where the grain differs (time-phased vs. summary), rebuild the table structure at the correct grain. Do not build or modify any visuals until this step is validated.

Step 3: Validate the model against the source. Project Online is no longer live, so compare the new semantic model against the OData data you exported for the same period. Compare key metrics. Any KPI difference greater than five percent warrants investigation before cut-over. This validation step is the one most teams skip because the cut-over date is close; skipping it is how discrepancies get discovered by executives, not by the migration team.

Step 4: Update or rebuild visuals. Once the model is validated, update visual field references in the Power BI canvas. For reports being redesigned rather than just re-pointed, this step may involve adding new visuals or consolidating existing ones.

Start connector work 8 to 10 weeks before your target cut-over date. The semantic model step consistently takes longer than estimated once real field-mapping gaps emerge from actual data. The visual rebuild is usually the fastest step once the model is solid.

Managing reporting continuity during the cut-over window

Parallel running against a live Project Online ended when the service retired on September 30, 2026. If reports are still being rebuilt, run the new ones in shadow mode: built, validated against the data you exported, but not yet published to the executive audience. When a report validates, point it at the new tool's API, verify it loads with live data, and send the updated workspace link to report consumers.

For reports that aren't ready at cut-over, communicate a managed gap rather than leaving an unexplained blank dashboard. "This report is being rebuilt for the new system and will be available [date]" is far better than a silent failure that generates support escalations during the migration's highest-scrutiny period.

Review the full project online migration checklist for where Power BI reporting fits into the broader pre-migration inventory, and check the 90-day migration plan for the recommended timeline for report rebuilding relative to data migration and cut-over.

Microsoft's July 2024 retirement announcement confirmed September 30, 2026 as the final service date with no extensions. That was the hard stop for the OData feed. If you are still rebuilding, validate against the data you exported. Project Online Data: Import What You Exported covers bringing it in.

Run the free Migration Preview Upload a sample .mpp file and see which data elements survive the tool boundary before you start planning your Power BI connector rebuild. No signup required. → Open Migration Preview

Microsoft Project Online™ is a trademark of Microsoft Corporation. Onplana is not affiliated with Microsoft.

Project OnlinePower BIMigrationODataPMOPWA reportsMicrosoft Project

Frequently asked questions

Did Power BI reports break when Project Online retired?

Yes, if they read the OData feed at /_api/ProjectData live. Project Online retired on September 30, 2026. Anything that read it live stopped with it; anything already exported or imported did not. Historical data in cached datasets stays readable until the dataset is deleted, but no new data flows in.

What Project Online OData tables do most PMO Power BI reports use?

Most reports depend on five entity sets: Projects, Tasks, Assignments, Timesheets, and Baselines. These are Project Online-specific tables that don't exist in any modern PM tool's export API under the same names or schema.

Which KPIs rebuild cleanly after migrating off Project Online?

Project status, budget vs. actual at project level, schedule variance by project, resource assignment counts, and issue or risk counts all rebuild cleanly with field mapping. Time-phased actuals and OData-computed measures typically need redesign.

What is the correct order to rebuild a Power BI report after migration?

Build the new connector first, then rebuild the semantic model with field mapping, then validate the model against the old source before touching any visuals. Inverting this order is the most common BI migration mistake.

How far in advance should Power BI rebuilding start?

Start connector work 8 to 10 weeks before your planned cut-over date. The semantic model step typically takes longer than expected once real field-mapping gaps surface.

Can I keep old Project Online OData reports alive during parallel running?

Not any more. That worked only while Project Online was live, and it retired on September 30, 2026. Run new reports in shadow mode against the OData data you exported, then publish them once they validate.

Where does Power BI report rebuilding fit in the 90-day migration plan?

Report rebuilding belongs in Phase 2 of a 90-day plan, alongside data mapping and connector validation, not in the final two weeks. The closer to cut-over date you start, the less validation time you have before going live.

Ready to make the switch?

Start your free Onplana account and import your existing projects in minutes.