Power BI Desktop 项目语义模型文件夹

本文介绍 Microsoft Power BI Desktop 项目的语义模型文件夹中的文件和子文件夹。 这里的文件和子文件夹代表 Power BI 语义模型。 根据项目不同,语义模型文件夹可以包括:

1 - 此文件是必需的。
2 - 使用 TMSL 格式保存时需要此文件。
3 - 使用 TMDL 格式保存时需要此文件。

并非每个项目语义模型文件夹都包含文中介绍的所有文件和子文件夹。

语义模型文件

.pbi\localSettings.json

包含仅适用于当前用户和计算机的语义模型设置。 应包含在 gitIgnore 或其他源代码管理排除中。 默认情况下,Git 会忽略此文件。

有关详细信息,请参阅 localSettings.json 架构文档。

.pbi\editorSettings.json

包含作为语义模型定义的一部分保存的语义模型编辑器设置,供不同用户和环境使用。

有关详细信息,请参阅 editorSettings.json 架构文档。

.pbi\cache.abf

Analysis Services 备份 (ABF) 文件,其中包含上次编辑时模型的本地缓存副本和数据。 应包含在 gitIgnore 或其他源代码管理排除中。 默认情况下,Git 会忽略此文件。

Power BI Desktop 可以在没有 cache.abf 文件的情况下打开项目。 在这种情况下,它会打开一份报表,该报表连接到一个具有完整定义但没有数据的模型。 如果存在 cache.abf,Power BI Desktop 将加载数据,并使用项目中的语义模型元数据覆盖模型定义。

.pbi\unappliedChanges.js开启

Power BI Desktop 允许保存在 Transform Data 编辑器 (Power Query) 中所做的更改,而无需先将这些更改应用于数据模型。

显示应用查询更改对话框的图像。

如果选择“稍后应用”,未应用的更改会保存到 unappliedChanges.json 文件中。 当待定更改处于 unappliedChanges 文件中时,Power BI Desktop 会提示你是要应用还是放弃这些待定更改:

显示关于待定更改的警告的图像。

如果选择 “应用更改”,Power BI Desktop 将使用来自 unappliedChanges.json的查询覆盖语义模型元数据中的查询。 如果在 Power BI Desktop 外部编辑了查询,并且存在以前的 unappliedChanges.json 文件,则应用这些更改时,您所做的更改将被 unappliedChanges.json 中的查询替换。

unappliedChanges.json 文件会自动合并到语义模型定义中,默认情况下保存在 Git 中。 这使你可以将正在进行的工作提交到开发分支,充当备份,并使其他团队成员能够访问它。 但是,你可将此文件从 Git 的跟踪中排除,从而防止未完成的查询工作影响其他开发人员。

有关详细信息,请参阅 unappliedChanges.json 架构文档。

definition.pbism

包含语义模型和核心设置的总体定义。

此文件还通过“version”属性指定支持的语义模型定义格式。

版本 支持的格式
1.0 语义模型定义必须作为 TMSL 存储在 model.bim 文件中。
4.0 或更高版本 语义模型定义可以存储为 TMSL(model.bim 文件)或 TMDL(\definition 文件夹)。

有关详细信息,请参阅 definition.pbism 架构文档。

model.bim

仅当 Power BI 项目使用 TMSL 格式保存时,此文件才可用。 它包含项目模型的表格模型脚本语言 (TMSL) 数据集对象定义。

definition\ 文件夹

仅当 Power BI 项目使用 TMDL 格式保存时,此文件夹才可用。 它替换 model.bim 文件。

此文件夹包含项目模型的表格模型定义语言(TMDL)数据库对象定义。

diagramLayout.json

包含定义与报表关联的语义模型结构的图表元数据。 不能在外部编辑此文件。

.平台

Fabric 平台文件,其中包含对于建立和维护 Fabric 项目与 Git 之间的连接至关重要的属性。

要了解详细信息,请参阅 Git 集成自动生成的系统文件。

DAXQueries\ 文件夹

包含保存为 [Tab name].dax查询选项卡的文件。

.pbi\daxQueries.json

包含 DAX 查询视图 编辑器设置,例如 defaultTab 或 Tab 顺序。

TMDLScripts\ 文件夹

包含与每个 TMDL 视图 脚本选项卡对应的文件,这些选项卡保存为 [Tab name].tmdl TMDL 文件。

.pbi\tmdlscripts.json

包含 TMDL 视图 编辑器设置,例如 defaultTab 或 Tab 键顺序。

TMDL 格式

为了提供更好的源代码管理和共同开发体验,可使用表格模型定义语言 (TMDL) 作为语义模型文件格式保存 Power BI 项目文件 (PBIP)。

与表格模型脚本语言 (TMSL) 不同,TMDL 从一开始就被设计为人性友好型,不仅可提升可读性,而且有助于在任何文本编辑器中轻松编辑。 这为源代码管理和协作开发体验提供了实质性的增强。

友好 TMDL 差异的屏幕截图。

TMDL 没有像表格模型脚本语言 (TMSL) 那样的大型 JSON 文件,而是有一个文件夹结构,每个表、透视图、角色和区域性都有单独的文件。 这使得与他人合作更加容易,并且只需查看文件夹和文件即可理解语义模型结构。 最终,在处理 git 差异和合并冲突时,这将带来出色的源代码管理和共同开发体验。

语义模型 TMDL 差异的屏幕截图。

在此处了解有关 TMDL 的详细信息。

对 TMDL 文件进行外部更改

当项目在 Power BI Desktop 中保持打开状态时,可以在 Visual Studio Code 或其他外部工具中编辑 TMDL 文件。 为了获得更好的 TMDL 编辑体验,请安装适用于Visual Studio Code的 TMDL 扩展。

在外部编辑文件之前,请将任何更改保存在 Power BI Desktop 中。 在 VS Code 中打开 PBIP 文件夹,导航到语义模型 definition 文件夹,并保存 TMDL 更改。 Power BI桌面检测到保存的更改,并显示“应用外部更改”横幅。 选择 “应用外部更改 ”以重新加载语义模型,而无需关闭并重新打开项目。

VS Code 中语义模型定义文件夹的屏幕截图。

如果 Power BI Desktop 有未保存的更改,它会警告你,应用外部更改将覆盖这些未保存的更改。 有关完整的工作流和限制,请参阅Power BI桌面外部编辑 PBIP 文件。

有关Power BI桌面外部支持的写入操作,请参阅模型创作。

TMDL 错误

如果 TMDL 编辑无效,Power BI桌面在应用外部更改或打开项目时显示错误。 此错误指示出在 Power BI Desktop 加载更新后的语义模型之前,您必须先修复的问题所在位置:

文件无效错误消息的屏幕截图。