文件模式与实时模式

Daxlate 默认从磁盘打开 .pbix 和 .pbit 文件。实时模式,即连接 Power BI Desktop 的 TOM 连接,是默认关闭的可选功能。

最后更新:

Daxlate 直接从磁盘打开 Power BI 文件。这是默认方式,也是几乎所有人的用法。此外 还有一个可选的实时模式,连接到正在运行的 Power BI Desktop 实例;它默认隐藏, 需要在设置中打开。两者共用同一套编辑界面(侧边栏树、翻译网格、导入导出、撤销 重做),区别只在于改动如何回到文件。

文件模式(磁盘上的 .pbix / .pbit) #

文件模式直接打开 .pbix.pbit。应用用内置的 pbi-tools 把模型提取到 %LOCALAPPDATA%\Daxlate\extracts\ 下按文件划分的缓存中,通过离线 TOM 反序列化 模型,让你在没有任何 Desktop 运行的情况下编辑。它也是唯一能翻译报表画布、而不 只是语义模型的模式。参见 翻译报表视觉对象

保存时,应用会应用内存中的差异、重新序列化,并运行 pbi-tools compile-pbix 生成新的模型文件。

有一个小别扭之处:pbi-tools 无法把包含数据模型的 .pbix 编译回 .pbix,只能 编译成 .pbit。因此对 .pbix 的第一次保存会在同目录写出一个 .pbit(例如 Finance.pbixFinance.pbit),原始 .pbix 保持不动,本次会话之后的保存都 针对这个 .pbit。状态栏会反映新路径,首次保存时还会有一条提示说明这次重定向。

权衡:

  • 不需要 Power BI Desktop 处于运行状态
  • 语义模型和报表画布都能翻译
  • 对带数据模型的 .pbix 保存会产生一个 .pbit 伴随文件,你的下游流程需要预期 到这一点
  • 每次保存稍慢一些(提取加重新编译,常见模型是数秒量级,超大模型更久)

实时模式(TOM),可选 #

实时模式通过表格对象模型连接到正在运行的 Power BI Desktop 实例,在 Desktop 的 内存中编辑模型。它默认关闭:在你启用之前,欢迎屏幕只显示最近的文件和 打开文件…,不会出现“连接到正在运行的模型”这一项。

要启用它,在 %LOCALAPPDATA%\Daxlate\settings.json 中设置 "liveModeEnabled": true 并重新启动。欢迎屏幕随后会多出一栏连接到正在运行的 模型,通过扫描本地 Analysis Services 端口,列出每个已加载模型的 Desktop 实例。

点击保存更改时,改动会经由 Model.SaveChanges() 推送到 TOM。此时改动已经在 Desktop 的内存模型中。要把它写入磁盘上的 .pbix,需要在 Power BI Desktop 中执行 文件 → 保存。实时模式下 Daxlate 从不自行写入 .pbix

权衡与限制:

  • 需要 Power BI Desktop 处于运行状态并打开了模型
  • 只能触及同一台机器上的 Desktop 实例,永远触及不到已发布的工作区
  • 仅限模型:实时模式没有可翻译的报表画布层
  • 不执行“文件 → 保存”就关闭 Desktop 会丢失未保存的翻译,这和 Desktop 中的任何 其他编辑一样

什么时候用哪个 #

  • 几乎所有场景:文件模式。打开 .pbix.pbit,翻译模型和报表画布,然后 保存。
  • 批量导入导出往返:文件模式。它就是为处理一整个报表文件夹而设计的,不必逐个 在 Desktop 中打开。
  • 你本来就在 Desktop 里创作、想顺手改几处:启用之后用实时模式,翻译会立刻出现 在字段列表中。记住它只触及模型,触及不到报表画布。