work / powerbi-to-superset

Migrating 100 to 120 reports from Power BI and a custom CRM to Apache Superset.

Industry
Legal services
Client
Law firm, 30+ years
Duration
3 months
Scope
100 to 120 reports
Role
Data Analyst
01The problem

Reporting logic spread across three languages and two platforms.

The firm's reports lived in Power BI and in a CRM its own development team built. Business logic was written in DAX, Power Query (M), and JavaScript. The goal: move everything to Apache Superset on standard SQL.

This video shows the problem. A results and comparison video is coming.

02Architecture

Before and after.

Before
Power BIDAX · Power Query (M)
Custom CRMJavaScript · in-house build
Translation
Data marts in SQLDAX · M · JS → SQL
After
Apache Superset100 to 120 reports and dashboards
03Decisions
  1. Sequenced by criticality

    Power BI first. Then the CRM reports, ordered by how critical and urgent each one was to the business.

  2. Business logic, absorbed from people

    Most of the logic lived in people, not in code. It took regular working sessions with every department involved: supervisors, staff, the in-house dev team, and the junior developer who originally built the Power BI reports.

  3. Data marts designed, not transcribed

    Translating DAX, M, and JavaScript to SQL was never line by line. Each data mart was designed for accuracy and speed on Superset.

  4. AI-assisted validation, human sign-off

    With the client's authorization, Claude connected through MCP sped up validation. Final review was mine: random spot checks against Power BI, especially filter interactivity. Where Superset behaved differently, dashboards were adjusted to match the interaction users expected.

04Stack
Power BIDAXPower Query (M)JavaScriptSQLApache SupersetClaude via MCP
Next step

Moving off a legacy BI stack? Let's talk.