Power BI Desktop 中的外部工具

Power BI 有一个充满活力的社区,参与者包括 BI 专业人员和开发人员。 这些参与者是该社区的重要组成部分,他们可以创建免费的工具来使用 Power BI 和 Analysis Services API 进行扩展,并与 Power BI Desktop 的数据建模和报告功能进行集成。

使用“外部工具”功能区,可以轻松访问已在本地安装并已向 Power BI Desktop 注册的外部工具。 从“外部工具”功能区启动时,Power BI Desktop 会将其内部数据模型引擎实例的名称和端口号传递给该工具,并传递当前模型名称。 然后,该工具会自动连接,提供无缝连接体验。

The external tools ribbon in Power BI Desktop

外部工具通常可分为以下几类:

语义建模 - 开源工具(如 DAX Studio、ALM Toolkit、Tabular Editor 和 Metadata Translator)会为特定数据建模场景(如 DAX 查询、表达式优化、应用程序生命周期管理 (ALM) 和元数据翻译)扩展 Power BI Desktop 功能。

数据分析 - 用于将只读模型连接到查询数据的工具,它还执行其他分析任务。 例如,这类工具可以启动 Python、Excel 和 Power BI 报表生成器,并将客户端应用程序连接到 Power BI Desktop 中的模型以供测试和分析,而不必先将 Power BI Desktop (pbix) 文件发布到 Power BI 服务。 另外,用于记录 Power BI 数据集的工具也属于此类别。

其他 - 某些外部工具根本不会连接到模型,而是扩展 Power BI Desktop 以提供有用的提示,并使有用的内容更易于访问。 例如 PBI.tips 教程、sqlbi.com 中的 DAX 指南,以及 PowerBI.tips 产品业务运营社区工具,这些工具简化了大量外部工具的安装及其在 Power BI Desktop 中的注册流程,包括 DAX Studio、ALM 工具包和表格编辑器等。

自定义 - 通过将 *.pbitool.json 文档添加到 Power BI Desktop\External Tools 文件夹来集成自己的脚本和工具。

在安装外部工具之前,请记住以下几点:

  • 适用于 Power BI 报表服务器的 Power BI Desktop 不支持外部工具。

  • 外部工具由外部的第三方参与者提供。 Microsoft 不为外部工具提供支持或文档。

外部工具的数量较多。 下面是一些最热门的外部工具,且归属于每个 Power BI Desktop 数据建模者工具箱:

工具 说明
PowerBI.tips - 业务运营 一个易于使用的部署工具,可用于将外部工具扩展添加到 Power BI Desktop。 业务运营目标是为安装所有最新版本的外部工具提供一站式服务。 若要了解详细信息,请参阅 PowerBI.tips - 业务运营网站。
表格编辑器 通过模型创建器可以使用直观的轻型编辑器轻松生成、维护和管理表格模型。 层次结构视图显示表格模型中的所有对象,这些对象是使用显示文件夹整理的,它们支持多选属性编辑和 DAX 语法突出显示。 若要了解详细信息,请转到 tabulareditor.com
DAX Studio 一种可用于 DAX 创作、诊断、性能优化和分析的功能丰富的工具。 功能包括对象浏览、集成跟踪、包含详细统计信息的查询执行情况分解、DAX 语法突出显示和格式设置。 若要了解最新信息,请转到 GitHub 上的 DAX Studio
ALM 工具包 针对 Power BI 模型和数据集的架构比较工具,用于应用程序生命周期管理 (ALM) 方案。 可以使用它跨环境执行简单部署,并保留增量刷新历史数据。 还可以区分和合并元数据文件、分支和存储库。 还可以在数据集之间重用共同定义。 若要了解最新信息,请转到 alm-toolkit.com
Metadata Translator 简化 Power BI 模型和数据集的本地化。 此工具可以使用 Azure 认知服务的机器翻译技术来自动翻译字幕、说明,以及显示表、列、度量值和层次结构的文件夹名称。 你还可以通过逗号分隔值 (.csv) 文件导出和导入翻译,以便在 Excel 或本地化工具中进行批量编辑。 若要了解最新信息,请转到 GitHub 上的 Metadata Translator

外部数据集成体系结构

Power BI Desktop (pbix) 文件包含多个组件,其中包括报表画布、视觉对象、模型元数据以及已从数据源加载的任何数据。 当 Power BI Desktop 打开 pbix 文件时,它会在后台启动 Analysis Services 进程来加载模型,从而使数据建模功能和报表视觉对象可以访问模型元数据并查询模型数据。

当 Power BI Desktop 将 Analysis Services 作为其分析数据引擎启动时,它会动态地分配一个随机端口号,并使用以全局唯一标识符 (GUID) 形式随机生成的名称来加载模型。 由于这些连接参数会随每个 Power BI Desktop 会话而改变,因此外部工具很难自行发现要连接到的正确的 Analysis Services 实例以及模型。 外部数据集成解决了这个问题:从“外部工具”功能区启动外部工具时,它允许 Power BI Desktop 将 Analysis Services 服务器名称、端口号和模型名称作为命令行参数传递给工具,如以下示意图所示。

External tool architecture

有了 Analysis Services 服务器名称、端口号和模型名称,该工具就可以使用 Analysis Services 客户端库来建立与模型的连接、检索元数据以及执行 DAX 或 MDX 查询。 每当外部数据建模工具更新元数据时,Power BI Desktop 就会同步这些更改,使 Power BI Desktop 用户界面能准确地反映模型的当前状态。 请注意,同步功能有一些如下所述的限制。

数据建模操作

外部数据建模工具可以应用修改并让 Power BI 同步报表画布的那些更改。 此同步是为了使那些修改能一致地应用到 Power BI 视觉对象中。 例如,外部数据建模工具可以覆盖度量值的原始格式字符串表达式,并编辑包括 KPI 和详细信息行在内的任何度量值属性。 外部工具还可以为对象和行级别安全性创建新角色,并添加翻译。

支持的写入操作

数据建模限制

所有表格对象模型 (TOM) 元数据都只能以只读方式访问。 由于 Power BI Desktop 必须与外部修改保持同步而使写入操作受到限制,因此不支持以下操作:

  • 受支持的写入操作没有涵盖的任何 TOM 对象类型(例如表和列)。
  • 编辑 Power BI Desktop 模板 (PBIT) 文件。
  • 报表级别翻译或数据级别翻译。
  • 尚不支持重命名表和列
  • 将处理命令发送到在 Power BI Desktop 中加载的数据集

注册外部工具

外部工具在 C:\Program Files (x86)\Common Files\Microsoft Shared\Power BI Desktop\External Tools 文件夹中包含 .pbitool.json 注册文件时,会向 Power BI Desktop 进行注册。 如果注册了某个包含图标的工具,该工具会出现在“外部工具”功能区中。 某些工具(如 ALM 工具包和 DAX Studio)在安装时会自动创建注册文件。 但是,许多工具(如 SQL Profiler)通常不会执行该操作,因为它们所拥有的安装程序不包括为 Power BI Desktop 创建注册文件。 无法自动向 Power BI Desktop 注册的工具可通过创建 *.pbitool.json 注册文件手动进行注册。

若要了解详细信息(包括 json 示例),请参阅注册外部工具

禁用“外部工具”功能区

“外部工具”功能区默认启用,但是可以使用“组策略”或直接编辑 EnableExternalTools 注册表项来将其禁用。

  • 注册表项:Software\Policies\Microsoft\Power BI Desktop\
  • 注册表值:EnableExternalTools

值为 1(十进制)时启用“外部工具”功能区,这也是默认值。

值为 0(十进制)时禁用“外部工具”功能区。

请参阅

注册外部工具