Live mode vs. file mode

When to use a TOM connection to Power BI Desktop versus opening a .pbix or .pbit on disk.

Daxlate supports two ways to open a model. They share the same editing surface (sidebar tree, translation grid, import/export, undo/redo) but differ in how edits get back to the file.

Live mode (TOM) #

Live mode connects to a running Power BI Desktop instance via the Tabular Object Model. The app discovers Desktop instances by scanning local Analysis Services ports. Anything that’s open in Desktop with a model loaded appears in the Connect to a running model column on the Welcome screen.

When you click Save changes, the edits are pushed to TOM via Model.SaveChanges(). The change is now in Desktop’s in-memory model. To persist it to the .pbix on disk, you do File → Save inside Power BI Desktop. The .pbix file is never written by Daxlate in live mode.

Trade-offs:

  • Requires Power BI Desktop running with the model open
  • Single live instance per model. You can’t have two clients editing the same TOM session
  • Closing Desktop without doing File → Save loses unsaved translations (the same as any other Desktop edit)

File mode (.pbix / .pbit on disk) #

File mode opens a .pbix or .pbit directly. The app uses the bundled pbi-tools to extract the model into a per-file cache under %LOCALAPPDATA%\Daxlate\extracts\, deserializes the model via offline TOM, and lets you edit it without any Desktop running.

When you save, the app applies the in-memory diffs, re-serializes, and runs pbi-tools compile-pbix to produce a fresh model file.

There’s one wrinkle: pbi-tools cannot compile a .pbix that contains a data model back to .pbix, only to .pbit. So the first save on a .pbix writes a sibling .pbit (e.g. Finance.pbixFinance.pbit), leaves the original .pbix untouched, and adopts the .pbit for any subsequent saves in the session. The status bar reflects the new path and a toast explains the redirect on first save.

Trade-offs:

  • Slower per save (extract + recompile, on the order of seconds for typical models, longer for very large ones)
  • Doesn’t require Desktop running
  • Working with .pbix results in a .pbit companion, so your downstream pipeline needs to expect that

Which to use when #

  • Interactive translation while authoring: live mode. You’re in Desktop anyway; live edits show up immediately in the field list.
  • Bulk import / export round-trip: either. File mode is useful when you’re processing a folder of reports without opening each one in Desktop.
  • Reports you only have as .pbit: file mode. Save in place is clean for .pbit, with no redirect.