此内容由人工智能翻译,尚未经过人工编辑审核。图像和图表保持其原始语言。
多语言 Dataset
Power BI 服务中有个鲜为人知的事实:在 专用容量 Workspace(Power BI Premium 或 A SKU)中,导入或 DirectQuery Dataset 的元数据翻译其实都能正常工作。 你可以通过两种方式为 Premium 中的 Dataset 添加元数据翻译:要么 通过 XMLA 读写端点,要么使用 Power BI Desktop 中的“外部工具”集成。本文演示后者,并以 Tabular Editor 作为外部工具。
前提条件
确保你用的是 Power BI Desktop 2020 年七月版本(或更新版本)。另外,你还需要安装 最新版 Tabular Editor。 我建议使用安装包 TabularEditor.installer.msi。 如果你使用的是 TabularEditor.portable.zip 版本,需要手动将 zip 包内的 TabularEditor.pbitool.json 文件复制到 %commonprogramfiles(x86)%\microsoft shared\Power BI Desktop\External Tools 文件夹中。 如果该文件夹不存在,就创建它!
启动 Power BI Desktop 时,你应该会在“外部工具”功能区看到 Tabular Editor:

默认模型区域设置
在为模型添加元数据翻译之前,先确保 Dataset 中对象(表、列、度量值)所使用的语言与模型语言(也就是默认模型区域设置)一致。 在 Power BI Desktop 中,依次选择“文件”>“选项和设置”>“全局区域设置”,即可查看新建模型时将被指定为“模型语言”的语言选项:

在我的电脑上(见截图),该选项设置为“使用应用程序语言”。由于我使用的是美式英语版本的 Power BI Desktop,这意味着我在这台机器上创建的任何新 .pbix 文件,其默认模型区域设置都会是“en-US”。 这没问题,因为我本来就一直对所有模型对象使用英文名称。 但是,如果你安装的 Power BI Desktop 用的是另一种应用程序语言,但你还是想让模型对象使用英文名称(或其他语言),记得在创建 .pbix 文件之前把“模型语言”设置调整好。
在 Power BI Desktop 里没法对现有 .pbix 文件更改这个设置,不过好在有一个变通方法。
当你在 Tabular Editor 中打开模型(点击“外部工具”功能区中的 Tabular Editor 按钮)时,会看到 Dataset 已经包含一个“翻译”对象(区域设置),它应当与模型语言相对应:

即便模型中存在这个区域设置,也不代表任何对象真的完成了翻译。事实上,对默认模型区域设置,你不应该应用任何翻译。 如果这样做,Power BI Desktop 可能会开始表现得有点“怪”,字段列表和 Visual 有时会显示翻译后的标题,有时又会显示未翻译的名称。 因此,你应该始终确保模型语言(默认模型区域设置)与模型中对象的实际命名保持一致。
添加元数据翻译
要为模型添加其他语言,只需右键单击“翻译”文件夹并选择“新建翻译”,然后从区域设置列表中选择语言即可。

这里我为 Dataset 添加了几种语言。 此时,你可以在 Tabular Editor 中放心按 CTRL+S,这会同步 Power BI Desktop 中的模型元数据,让其也包含这些语言——即使我们还没有为任何对象指定翻译。

现在,在 Tabular Editor 中有两种方式来定义对象名称翻译。 第一种方式类似“所见即所得”:你在屏幕顶部的下拉框中选择语言。 然后,在资源管理器树中选择任何想要翻译的对象,按 F2 重命名即可。 当你在下拉框中选择某种语言时,实际上是在创建翻译,而实际对象名称保持不变。 你会看到名称变为蓝色,用于提示对象已应用了一个或多个名称翻译:

(遗憾的是,由于 Tabular Editor 的一个 bug,除非你在“文件 > 首选项”下勾选“允许不受支持的 Power BI 功能”复选框,否则只能用这种方式为度量值应用翻译。其他对象类型的元数据翻译在 Power BI Premium 中完全受支持——这只是 Tabular Editor 2.11.7 的一个 bug,会在下个版本修复。)
你也可以在属性网格中找到“Translated Names”属性,并在各个模型语言下输入对应的译名。 记得让默认区域设置(我这里是 en-US)保持翻译为空。 同样的技巧也适用于翻译度量值、列和层次结构的对象说明与显示文件夹。

另外,你还可以从 Tabular Editor 导出 .json 文件,用于其他工具,例如 Kasper de Jonge 的 Tabular Translator 工具。 你可以右键单击“翻译”文件夹并选择“导出/导入翻译…”,以 JSON 格式导出和导入翻译。 不过在此之前,你可能想先为模型中的所有对象设置默认翻译。
发布 Dataset
翻译完成后,在 Tabular Editor 中按 CTRL+S,以更新 Power BI Desktop 中的模型元数据。 然后,关闭 Tabular Editor,回到 Power BI Desktop,在这里按 CTRL+S 保存你的 .pbix 文件。 此时,.pbix 文件已包含你刚刚在 Tabular Editor 中定义的所有翻译,但遗憾的是,无法在 Desktop 中直接查看这些翻译。 不过,你可以在 Excel 中测试:只需在连接字符串中添加 LocaleIdentifier 即可。
接下来只剩一件事:将 .pbix 文件发布到 Power BI 服务。 如果你将内容发布到专用容量(Premium 或 A SKU)的 Workspace 中,你应该会看到翻译在 Power BI 服务中被正确识别:既会显示在 Dataset 字段列表中,也会体现在所有 Report Visual 上。 如果你在容量上启用了 XMLA 读/写,你甚至可以直接在 Tabular Editor 中部署模型元数据(Model > Deploy),而无需先把更改保存回 Power BI Desktop 再从那里发布。
这样一来——Power BI 服务中的多语言 Dataset 会在字段列表和 Report 画布上都正确显示:
