Daniel M. Jin
Email

Business intelligence AI developer

Tableau to Power BI.Power BI to Tableau. Same numbers.

Nothing switches off until you sign off.

The Readout: two weeks, fixed scope.

Email Daniel

Tableau calculationDAX measure

{FIXED [Customer Name] : SUM([Sales])}

DAX, from the engineTableau, from the engine

CALCULATE(SUM(Orders[Sales]), REMOVEFILTERS(), VALUES(Orders[Customer Name]))
Review FIXED ignores dimension filters but obeys context filters. REMOVEFILTERS() drops every slicer, so add former context filters back with VALUES.FIXED ignores dimension filters but obeys context filters. Add a filter to context if this measure must obey it. Try it

Ideas

Style. Technology. Business acumen.

How the work looks, how it works, and what it is worth.

Style

Quiet on purpose.

One accent, two weights and a numbered source beside the figures, so the answer lands before the chart does.

One accent
Two weights
One radius

This page: four font files, two weights, one accent, no cookies.

The type and color rules come from my design dossier. They are rules I follow, not measured findings.

Technology

Logic that survives the move.

Paste a Tableau calculation and get DAX back, with every line that could change a number flagged and explained.

In

IF [Sales] >= 1000 THEN "Large" ELSEIF [Sales] >= 250 THEN "Medium" ELSE "Small" ENDDIVIDE(SUM(Orders[Profit]), SUM(Orders[Sales]))

Out

SWITCH(TRUE(), Orders[Sales] >= 1000, "Large", Orders[Sales] >= 250, "Medium", "Small")SUM([Profit]) / SUM([Sales])

Then three checks: Tableau Doctor reads the workbook, pbi-doctor reads the report, SchemaDrift compares the data.

Try the translator

Business acumen

Price it before you move it.

Describe your estate and seats; see the weeks, both license bills and the top risks before anyone signs.

$11,520 → $8,120a month, at list price

Example seat mix, list prices.15

In one Microsoft customer case, only about half of thousands of reports had been opened in the past year.8

Price a move

Translator

Tableau in. DAX out.DAX in. Tableau out.

Every line that could change a number is flagged, and the note says why.

Try an example

DAX

Review

The result depends on filters, the view or the model. Test it before you trust it.

Lands as a measure.

What to check

    Show the steps

      A calculation translator, not a workbook converter. It reads one formula at a time, so it cannot see context filters or the view.

      862 of 862 checks passed in the build-day run, 27 October 2026.11 None of this has run inside Power BI Desktop or Tableau yet.

      Rules come from Tableau Help, Microsoft Learn and SQLBI. See the translation table

      Scoper

      What the move costs. How long it takes.

      Set your seats and estate. See both bills, the overlap while both run, and the weeks to switch-off.

      At list price: $11,520 a month today, $8,120 after. Ask about a Readout
      Seats

      Example seat mix and estate, not a client. Change them to yours.

      Creators and Explorers become Power BI authors. Viewers need Pro below F64, and no paid license on F64 or larger.3

      Estate
      %

      About 100 of 200 items, before a value review.

      Tableau edition
      Power BI licensing
      Run both for

      Microsoft says a parallel run commonly lasts 30 to 90 days.7

      Today

      Tableau Cloud Standard

      $11,520

      a month

      After

      Power BI Pro for everyone

      $8,120

      a month

      Each month
      Saves $3,400
      Running both for 60 days
      $16,018

      Pays back in
      4.7 months

      Planning assumptions, not a quote.

      80 of 80 scoper tests passed in the build-day run.12 The tests check arithmetic and rules, not outcomes.

      Plan

      Live on Power BI

      37.5 to 67.5weeks

      Tableau off

      47 to 78weeks

        Top risks

          More inputs and assumptions

          Proof

          Thirteen years under the dashboards.

          Servers, warehouses and the people who read the charts.

          Career
          Dec 2022 – nowAMC Theatres, Leawood, KansasBusiness Intelligence IV
          Jan – Dec 2022Alphadyne Asset Management, New YorkSenior BI Consultant
          Jun 2020 – Jan 2022American Century InvestmentsSenior Infrastructure Engineer Specialist: a 12-node Tableau Server cluster and its move to AWS EC2 Linux
          May 2018 – May 2020InMobiData Scientist I
          Jan 2017 – May 2018IPFS Corp.BI Analyst
          Dec 2011 – Dec 2016University of KansasData Analyst

          Power BI work I can show: pbi-doctor, with 14 rules and 51 self-tests,13 and nine executive Power BI themes. pbi-doctor has not yet run on a real project.

          Also: a Netezza to Azure Synapse warehouse migration.

          Also: a Center of Excellence that trained 1,700 users.

          Dates, roles, the warehouse migration and the 1,700 users are from my résumé, self-reported.14

          Credentials

          • Tableau Desktop 10 Qualified Associate, October 2016.

          Education

          • B.A. in Economics and Information Technology, Indiana University, 2008.
          • M.S. coursework in Interaction and UX Design, University of Kansas.

          Tools I built

          Tableau ⇄ DAX translator

          Translates one calculation and flags drift.

          862 of 862 checks in the build-day run, 27 October 202611; 26 labeled examples.

          Caveat. Not yet run inside Power BI Desktop or Tableau.

          Open it

          Migration scoper

          Weeks, list-price licenses and risks for an estate.

          80 of 80 tests in the build-day run12; prices checked 17 October 2026.

          Caveat. Planning assumptions, not a quote.

          Open it

          Tableau Doctor

          Reads a workbook's XML and scores it before anyone opens Tableau.

          25 rules, standard library only; 35 of 35 analyzer tests passed on 17 October 2026.13

          Caveat. Its CI gate is switched off in this build, so 33 of 35 gate tests pass.

          pbi-doctor

          Reads a Power BI project for problems.

          14 rules; 51 self-tests.13

          Caveat. Not yet run on a real project.

          Read the lab note

          SchemaDrift

          Checks that data survived a move.

          Six checks: schema, row count, nulls, KS, PSI and value lists.

          Caveat. Its demo plants five defects and fails with 8 findings.13

          Read the lab note

          PBIP generator

          Writes a full Power BI project as text files, then runs Microsoft's validators.

          Microsoft's report validator and model parser found 0 errors.13

          Caveat. Its first Desktop open hit a circular dependency; fixed, not yet reopened.

          plotly_hierarchy

          Tableau-style drill-down for Plotly, in one HTML file.

          Version 0.1.0.13

          Read the lab note

          TabML

          Scores Tableau SCRIPT_REAL requests by parsing them, never running them.

          Read the lab note

          Executive Power BI themes

          Theme files for board packs and scorecards.

          Nine, schema-valid, checked for contrast and color blindness.13

          Caveat. Gallery figures are synthetic.

          See the themes

          A migration, read from the outside

          What Kansas City 311 stopped measuring.

          Kansas City moved its 311 system from PeopleSoft to MyKCMO in March 2021.

          Request types in use each year fell 45.1%, from a mean of 526.5 to 289.25, in one step.

          Source columns fell from 30 to 18, and the SLA breach flag was dropped.

          An unpaginated pull of the 2019 data returned 1,000 rows, 0.6% of the year, with no warning.

          Public data, not a client. 2,395,529 requests as of 24 September 2026.10

          Read the case

          Fig. 1 · Request types in use each year

          PeopleSoft years, mean526.5
          MyKCMO years, mean289.25

          −45.1% in one step

          Kansas City 311 open data, as of 24 September 2026. A one-time drop at the March 2021 switch, not an annual rate.

          I audited my own portfolio first.

          149 claims. 11 held.

          On my old portfolio, 92 claims had no source behind them, 19 compared unlike with unlike, 14 had gone stale and 13 said more than the data could.

          I rebuilt it from 6 source files and 17 query results, each hashed with sha256.9

          An advisor should check his own numbers before anyone else's.

          Read the audit

          Work

          Start small. Stop at any step.

          Three engagements, each ending in a decision. Each is priced before work starts.

          I resell no licenses and work in both directions. A Readout can end in “stay”.

          The Readout

          Two weeks. Fixed scope.

          Should we move, what moves first, and what will it cost to run afterward?

          What I look at
          • Every workbook or report, data source, calculation, user and security rule.
          • Usage, sorted into keep, merge or retire.
          • Calculations by type and drift risk.
          • An automated scan with Tableau Doctor or pbi-doctor, labeled as such.
          • License and capacity math for both platforms at your seat mix.
          • Risks: LOD against DAX, security, data prep, extracts, subscriptions.
          What you get
          • A two-page summary for the executive, then a technical appendix.
          • An inventory workbook with complexity and keep or retire flags.
          • A first wave plan with effort ranges.
          • A 60-minute readout with your sponsor.
          Ground rules

          Direction: Tableau to Power BI, Power BI to Tableau, or stay.

          From you: read access or a metadata export, one sponsor, and one subject expert per domain.

          Not included: building content.

          This might be for you if
          • A renewal date or a spend review is coming.
          • Nobody can say how many reports you have, or which ones matter.
          • You want an answer from someone with no license to sell.

          Ask about a Readout

          The Parity Pilot

          Four to six weeks.

          Can our hardest dashboards move without the numbers changing?

          What I do
          • Move three agreed dashboards: one high-value, one complex, one high-traffic.
          • Translate every calculation with a written log, source beside target.
          • Build the target as code: a PBIP project for Power BI, or a workbook for Tableau.
          • Lint it with pbi-doctor or Tableau Doctor.
          • Check data parity with SchemaDrift's six checks, plus KPI checks per filter state.
          • Test security against named role personas.
          What you get
          • The migrated set in a test environment.
          • A parity report, a translation log and rollback steps.
          • A wave plan sized by the pilot's real effort.
          Ground rules
          • Parity tolerance and exit criteria are signed before work starts.
          • The old system stays live. Nothing is retired before sign-off.
          • I propose a parallel-run window; Microsoft says 30 to 90 days is common.7
          This might be for you if
          • The Readout said move.
          • One dashboard runs the weekly meeting, and its numbers may not change.
          • A converter promised more automation than you believe.

          Ask about a Pilot

          BI Direction

          Monthly retainer. Reviewed each quarter.

          Who keeps BI pointed at business decisions after the move?

          The first 90 days
          1. Weeks 1–3Trace your top KPIs to their sources.
          2. Weeks 4–6Publish one definition per KPI, each with an owner.
          3. Weeks 7–10Set governance for ownership, certified content and security.
          4. Weeks 11–13Deliver a costed 12-to-24-month roadmap and a platform recommendation.
          Every month
          • A one-page direction memo.
          • An adoption scorecard: visits, active reports and distinct users.
          • Lint and drift scans on production content.
          • License and renewal advice for both platforms.
          • Coaching for your Center of Excellence and its champions.
          Where the plan comes from

          The 90-day arc adapts a public fractional data-leader plan. The areas follow Microsoft's Fabric adoption roadmap and Tableau Blueprint.

          This might be for you if
          • You need a senior BI owner without a full-time hire.
          • Two dashboards disagree about revenue, and both have fans.
          • AI features are arriving, and they will read whatever model you have.

          Ask about BI Direction

          Email Daniel

          Rates stay off this site. Each engagement is priced before work starts.

          Questions leaders ask.

          Will the numbers match after the move?

          We sign a parity tolerance before any build. SchemaDrift and KPI checks per filter state then test it.

          What if it goes wrong?

          The old system stays live until you sign off, and you get written rollback steps.

          Do we have to move everything?

          Usually not. In one Microsoft case, only about half of thousands of reports had been opened in a year.8

          How long will it take?

          The pilot tells us. Microsoft describes a report estimated at 50 days that took about 50 hours.8

          Are you neutral?

          I resell no licenses and work in both directions. A Readout can end in “stay”.

          What do you need from my team?

          One sponsor, one subject expert per domain, read access, and a fixed meeting time.

          Who owns each KPI after you leave?

          A named owner per metric, in a KPI dictionary. The code lives in your repository, with a runbook.

          What will licenses cost afterward?

          The scoper does list-price math for both platforms. A Readout redoes it with your real seats and terms.

          Have you worked at our scale?

          I ran a 12-node Tableau Server cluster and helped build a Center of Excellence that trained 1,700 users.14

          Writing

          Field notes, with sources.

          Migration cases, lab notes and studies. Each post lists its sources.

          In this post · SchemaDrift report: verdict FAIL, eight findings across six checks

          MigrationOct 20266 min

          How I run a migration without moving the numbers

          Read the post

            About

            Daniel M. Jin

            I have built and run Tableau for thirteen years, from the servers underneath to the charts on top.14

            Finance, ad tech, higher education and entertainment, in Kansas City and New York.

            Now I move BI between Tableau and Power BI, and help leaders decide where it should live.

            I build with AI agents. They draft, fetch and count; I set the gates, and tests decide what ships.

            That rule came from my own audit: my old portfolio made 149 claims, and 11 held.

            I work from Kansas City, remotely, on contract and advisory terms.

            Moving the dashboards is the easy part. Keeping the numbers still is the job.From How I run a migration without moving the numbers

            Contact

            Start with one email.

            Tell me what you run today, what you are weighing, and the date that matters.

            hello@danieljin.com
            Open in your mail app No form and no tracking. Just an address.