Cepheus
How-To Guide
navis@cepheusonline.com
Cepheus Navis

Tableau → Power BI Migration

Convert Tableau Desktop / Tableau Server workbooks to Microsoft Power BI. Proven calculation equivalence, tamper-evident audit trails, airgapped operation.

Installation
pip install cepheus-navis-tableau-powerbi

Requires Python 3.9, 3.10, or 3.11. This single package installs the Tableau → Power BI converter and all required pipeline tools.

spec.toml — minimal example
[general]
epoch = 1700000000  # determinism epoch (seconds since Unix epoch)

[pipeline]
input   = "C:/Workbooks"  # folder of .twb / .twbx files
output  = "C:/Output"
working = "C:/Working"  # staging folder for pre/post steps

[analyze]
license_output_folder = "C:/Reports"

[convert]
license = "license.json"

[post]
# No additional config required — reads .hyper data from [pipeline].input

Every command reads from spec.toml. CLI flags override spec values when provided. Relative paths resolve from the spec file’s directory.

0
Pre-extract: Export Source Data

The pre step connects to the Tableau .twbx embedded .hyper data extracts, exports them as CSV files into [pipeline].working/data/, and hands them to the post-bind step so Power BI Desktop can see live data immediately after opening the converted project.

The converter itself does not require this step. Analyze and convert read the .twbx directly. This step only benefits the post-bind (data verification) workflow.

navis-ta-pbi-pre spec.toml

Reads [pipeline].input (workbook path) and [pipeline].working (staging folder). No additional [pre] keys required for Tableau.

1
Analyze Your Workbooks

Scan .twb / .twbx files to assess what can be automatically migrated before committing to a conversion.

Complexity Ratings
Per-workbook complexity assessment across the portfolio
Automation Rate
How many calculations can be auto-converted with proven accuracy
Fidelity Gap Report
Features that need manual attention, disclosed upfront
SHA-256 Checksums
Embedded in the PDF for license issuance
navis-ta-pbi analyze spec.toml                  # Analyze all workbooks
navis-ta-pbi analyze spec.toml --path Sales.twbx  # Single workbook
navis-ta-pbi analyze spec.toml -o analysis.pdf    # Save report
navis-ta-pbi analyze spec.toml --summary-only     # High-level numbers only
navis-ta-pbi analyze spec.toml --no-recursion     # Top-level folder only

Submit the License Request PDF to navis@cepheusonline.com. The PDF embeds cryptographic fingerprints of your workbooks. Cepheus replies with a license file.

Why checksums? The license is tied to your workbook files as they existed when analyzed. Modified files won’t match and conversion is blocked — preventing accidental conversion of untested workbooks.

2
Obtain and Verify a License
  1. Run navis-ta-pbi analyze and save the License Request PDF
  2. Email the PDF to navis@cepheusonline.com
  3. Receive a license file back
[convert]
license = "license.json"
navis-ta-pbi verify-license spec.toml
StatusMeaning
VALIDLicensed and ready to convert
MISMATCHLicensed, but file has changed since the license was issued
UNLICENSEDNot covered by this license

Checksum mismatch? The workbook file changed after analysis. Re-run analyze and request an updated license.

3
Convert
navis-ta-pbi convert spec.toml
navis-ta-pbi convert spec.toml --output C:/Output  # Override output folder

What Navis produces

For each workbook: a .pbip folder (Power BI Project), plus a _CEC.zip Evidence Capsule.

How calculations are converted

Every DAX formula Navis produces has been individually tested against actual Tableau output to verify identical results. This isn’t approximate translation — it’s proven equivalence. If Navis encounters a calculation it cannot convert with proven accuracy, it flags it rather than guessing.

4
Post-bind: Connect Data for Verification

Windows only. The converter produces a .pbip project with the correct semantic model and DAX measures, but the M queries point to placeholder data sources. The post step writes the source data as CSV files alongside the project and repoints the M queries at those CSVs — so you can open the project in Power BI Desktop and see live data immediately.

Verification aid only. The CSV data and M query rewrites are a temporary scaffold for demo and QA. Your data team will reconnect to production sources using Power BI Desktop's Change Source dialog or the Admin portal.

Reads the .hyper data extracted during the pre step (from [pipeline].working/data/). No additional configuration required.

[post]
# No extra keys needed — data is read from [pipeline].working/data/
navis-ta-pbi-post spec.toml

After the post step, open the .pbip file in Power BI Desktop — all visuals will populate with data. Review the conversion, check the Evidence Capsule PDF for any fidelity gaps, and hand off to your data team.

What Gets Converted
TableauPower BI
WorksheetsReport pages with chart visuals
DashboardsReport pages with positioned visuals
Bar, line, area, pie chartsMatching Power BI chart types
Text tablesPower BI table visuals
MapsPower BI map visuals
Scatter plotsPower BI scatter charts
Calculated fields (SUM, AVG, COUNT, etc.)DAX measures
LOD expressions (FIXED, INCLUDE, EXCLUDE)DAX CALCULATE
Table calculations (Running Total, Rank, etc.)DAX WINDOW / OFFSET / RANKX
IF/THEN/ELSE, CASE/WHEN, IIFDAX IF / SWITCH
String functions (UPPER, LOWER, LEN, TRIM, etc.)Equivalent DAX functions
Date functions (DATETRUNC, DATEPART, DATEDIFF)DAX date functions
Math functions (ROUND, ABS, SQRT, trig)Equivalent DAX functions
Categorical filters (include/exclude)Power BI basic filters
Range and date filtersPower BI advanced / relative date filters
Top N filtersPower BI Top N filters
ParametersPreserved as metadata in the semantic model
Data model (tables, columns, types)Semantic model with TMDL definitions
What Needs Manual Attention

Review the PDF report inside the Evidence Capsule for anything flagged:

  • Data connections — connect to your production data source after import.
  • Unmapped calculations — formulas without a proven equivalent yet; clearly marked so you can write them manually.
  • Dashboard actions (filter, URL, highlight) — noted as fidelity gaps; need manual recreation.
  • Custom images and decorative elements — not transferred.
  • Tableau Server / Cloud features — live connections, user filters, etc. need manual reconfiguration.
  • Gantt charts — no direct Power BI equivalent; flagged.
  • Parameters — preserved as metadata; wire to Power BI slicers manually.
  • Nothing is ever silently skipped. If Navis can’t convert something, it tells you.
Understanding the Output

Power BI Project folder

SalesDashboard/
  SalesDashboard.pbip              <-- open this in Power BI Desktop
  SalesDashboard.Report/
    definition.pbir
    report.json
  SalesDashboard.SemanticModel/
    definition.pbism
    definition/
      model.tmdl
      database.tmdl
      tables/
  _CEC.zip                         <-- Evidence Capsule

Open SalesDashboard.pbip in Power BI Desktop. The semantic model and all DAX measures are fully defined — you only need to point the data source at your production data.

The _CEC.zip Evidence Capsule contains the PDF audit report with formula-level conversion evidence, SHA-256 checksums, and any fidelity gaps.

🔒
Evidence Capsule (_CEC.zip)

Every conversion produces a _CEC.zip alongside the converted output. It contains:

  • A signed PDF with formula-level translation evidence
  • SHA-256 checksums of all input files
  • A machine-readable JSON manifest of all conversions and fidelity gaps
  • A timestamp and license reference

The capsule is tamper-evident: any modification to the converted output invalidates the checksums in the PDF. Keep _CEC.zip alongside your converted project as your audit record.

Digital Signing

The Evidence Capsule PDF is cryptographically signed by Cepheus. The signature certifies:

  • The workbooks that were analyzed match the license issued
  • The conversion was performed by an authentic, unmodified Navis binary
  • The formula translations are the ones Cepheus has validated

Signature verification does not require internet access. The public key is embedded in the license file.

Audit Logs

Every command writes a structured log alongside the output. Log entries include:

  • Per-workbook conversion decisions and fidelity gaps
  • SHA-256 of each input file at conversion time
  • Formula translation records (source expression → target expression)
  • Any warnings or skipped elements

Logs are in JSON Lines format for easy ingestion into SIEM or audit tooling.

?
Troubleshooting

License errors

ErrorFix
MISMATCHFile changed after analysis. Re-run analyze, request new license.
UNLICENSEDFile not in the license. Check path matches analyzed workbook.
EXPIREDLicense past validity date. Contact navis@cepheusonline.com.
INVALID_SIGLicense file corrupted or modified. Request replacement.

Common issues

SymptomFix
No workbooks foundCheck [pipeline].input path. Use absolute paths.
Fidelity gaps in every workbookExpected — review the PDF. Gaps are documented, not hidden.
Output folder not createdCreate the parent directory first; Navis creates the final folder.

For other issues: navis@cepheusonline.com

Named Pathlists

To analyze or convert a specific subset of workbooks, create a named pathlist in spec.toml:

[pipeline]
input   = "C:/Workbooks"
pathlist = ["Sales.twbx", "Finance.twbx", "HR.twbx"]

Each path in pathlist is resolved relative to [pipeline].input. Use this to run a focused subset without moving files or duplicating the spec.

CLI --path overrides pathlist when provided.