Skip to content

Use the x-ray to compare a rendered SSRS report with the datasets, parameters, expressions, behavior and code inside the same RDL definition. On touch devices, drag horizontally to move the x-ray while vertical page scrolling remains available.

Migration · Track 02

SSRS,re-engineered.

Recover the logic inside your SSRS reports. Generate editable Power BI files with evidence engineers can review.

Illustrative · RevenueSummary.rdl
01 / Migration control plane

One system. Five gates.

One migration record stays intact from source discovery to release evidence. AI recovers intent; deterministic systems build it; engineers approve it.

RevenueSummary.rdlIllustrative run

See the estate before touching it.

Every RDL, dataset, parameter and cross-report dependency is indexed before a single target is chosen.

  • 100 RDL indexed
  • 27 dependency paths
  • 06 review flags
01 / 05

Map

See the estate before touching it.

Every RDL, dataset, parameter and cross-report dependency is indexed before a single target is chosen.

  • 100 RDL indexed
  • 27 dependency paths
  • 06 review flags
02 / 05

Understand

Recover the intent behind the expression.

The expression becomes Net Revenue, with its source and calculation intact. AI explains the business rule; an engineer reviews the interpretation.

  • Textbox24
  • Net Revenue recovered
  • review retained

Source RevenueSummary.rdl, Textbox24: =Sum(Fields!NetSales.Value). Recovered intent: Sum net sales within the selected reporting context. Generated measure in measures.tmdl: Net Revenue = SUM(FactRevenue[NetSales]). AI interpretation confidence 0.96; engineer review retained.

03 / 05

Route

Choose the target on purpose.

Interactive, paginated, consolidated, model-only or retired, decided report by report. AI recommends; an engineer owns the call.

  • 05 paths weighed
  • recommendation recorded
  • engineer accepted
04 / 05

Compile

Build Power BI as open files.

The same Net Revenue rule is written into measures.tmdl. Approved intent becomes editable Power BI project files, ready for source control.

  • PBIP · PBIR · TMDL
  • DAX · Power Query
  • repository ready

Textbox24 from RevenueSummary.rdl is preserved in measures.tmdl: Net Revenue = SUM(FactRevenue[NetSales]). The source-linked measure is editable and versioned.

05 / 05

Prove

Match the evidence. Keep exceptions open.

Net Revenue matches its SSRS source. Schema, queries, totals, filters and behavior are checked too; two reviews still require human approval.

  • 74 checks run
  • 2 reviews open
  • sign-off required

Net Revenue: SSRS source 3,577,060 USD equals Power BI target 3,577,060 USD for FY 2025. Difference 0.00 percent. 72 of 74 checks matched. 2 reviews remain open; human approval is required before release.

02 / Open deliverables

Inspect every decision.

Follow the Net Revenue rule into an editable project. Its source, migration decision and validation evidence stay attached.

RevenueSummary.rdl · illustrative project fragments
PBIPPBIRTMDL
RevenueModel.SemanticModel/definition/measures.tmdl

Source · Textbox24

=Sum(Fields!NetSales.Value)
DAX / TMDL
01table Measures02    measure 'Net Revenue' =03        SUM(FactRevenue[NetSales])04        formatString: $#,0;($#,0);$#,005 06    measure 'Revenue PY' = SUM(FactRevenue[PriorYear])07 08    measure 'Revenue YoY %' =09        DIVIDE(10            [Net Revenue] - [Revenue PY],11            [Revenue PY]12        )13        formatString: 0.0%;-0.0%;0.0%
03 / Operating model

Beyond file conversion.

One report. Three migration approaches. Compare how the business rule, editable files and release evidence are carried forward.

RevenueSummary.rdl / Textbox24Illustrative comparison
Executive overview / FY 2025Regional revenue performance
$3.58MNet revenue+12.1%
$884KGross profitFY 2025
24.7%MarginAll regions
Revenue by month
Net revenue total 3,577,060 · matches RevenueSummary.rdl
Executive overviewRegional detailExceptions
One business rule
=Sum(Fields!NetSales.Value)Net Revenue

The report travels with its evidence.

Intent
Textbox24 → Net Revenue

Sum net sales within the selected reporting context.

RDL-007 / source-linked intent
Editable files
Generated as editable model files

The approved rule is traceable from RDL to the generated measure.

measures.tmdlNet Revenue = SUM(FactRevenue[NetSales])
Release evidence
72 of 74 checks matched

2 behavior reviews remain open. Engineer approval pending.

validation-run.json
Evidence carried forward in each example
DeliverableManualConverterDAQ
IntentWorkshop noteExpression onlySource-linked
Editable filesRebuilt modelConverted reportPBIP + TMDL
Release evidenceNo run attachedNo run attached72/74 · 2 open

Illustrative records, not a benchmark of every team or tool. Each approach can include additional engineering and validation.

04 / Reporting modes

Modernize. Do not flatten.

Different reporting jobs deserve different Power BI experiences. The semantic foundation can be shared without forcing every report into the same shape.

PBIR

Interactive Power BI

KPIs, drill paths, filters, and decision-focused visual hierarchy.

RDL

Paginated reporting

Precise layout, printing, exports, parameters, and operational distribution.

Responsive

Mobile experience

Purpose-designed monitoring for executives and field users.

Semantic

Connected Excel

A familiar finance surface connected to governed business logic.

Explore the analytics service
05 / Private assessment

Begin with the estate.

Define the discovery scope before sharing RDL files, credentials, connection strings, or report data.

What we need
  1. 01The size of the estate: how many RDL files there are, and which of them still run.
  2. 02Where the reports read from: the data sources and the shared datasets behind them.
  3. 03The SSRS environment and the Power BI or Fabric situation: versions, capacities, who administers them.
  4. 04The constraints that shape the cutover: subscriptions, exports, regulators, the reports that cannot blink.

No files or data at this stage