Power BI Desktop 中的 Direct Lake (预览版)
使用 Direct Lake 模式的语义模型直接访问 OneLake 数据,这需要在具有 Fabric 容量的工作区中运行 Power BI Analysis Services 引擎。 使用导入模式或 DirectQuery 模式的语义模型可以使用 Power BI Analysis Services 引擎来创建和编辑语义模型,使 Power BI Desktop 在计算机上本地运行。 发布后,此类模型在工作区中使用 Power BI Analysis Services 运行。
为了便于在 Power BI Desktop 中编辑 Direct Lake 语义模型,现在可以在 Direct Lake 模式下对语义模型执行实时编辑,使 Power BI Desktop 能够在 Fabric 工作区中使用 Power BI Analysis Services 引擎对模型进行更改。
启用预览功能
若要在 Direct Lake 模式下实时编辑语义模型,必须从 Power BI Desktop 中选择以下内容来启用其预览功能:文件 > 选项和设置 > 选项 > 预览功能。 选择“在 Direct Lake 模式中对 Power BI 语义模型实时编辑”,以便在重启 Power BI Desktop 后启用该功能。
在 Direct Lake 模式下实时编辑语义模型
若要在 Direct Lake 模式下执行语义模型的实时编辑,请执行以下步骤。
- 打开 Power BI Desktop,选择“OneLake 数据中心”。:
还可以从空白报表中打开 OneLake 数据中心,如下图所示:
- 在 Direct Lake 模式下搜索语义模型,展开“连接”按钮,然后选择“编辑”。
注意
选择不在 Direct Lake 模式中的语义模型将导致错误。
- 会打开所选语义模型进行编辑,此时处于实时编辑模式,如以下屏幕截图所示。
- 可以使用 Power BI Desktop 编辑语义模型,这样可以直接更改所选的语义模型。 更改包括所有建模任务,例如重命名表/列、创建度量值,以及创建计算组。 DAX 查询视图可用于运行 DAX 查询来预览数据和测试度量值,然后再将其保存到模型。
注意
请注意,“保存”选项已禁用,因为无需保存。 所做的每一项更改都会立即应用于工作区中所选的语义模型。
在标题栏中,可以看到工作区和语义模型名称,其中带有在 Fabric 门户中打开这些项目的链接。
连接并实时编辑语义模型时。 在预览期间,无法选择现有报表进行编辑,报表视图处于隐藏状态。 可以通过在 Power BI Desktop 的另一个实例或工作区中实时连接到此语义模型来打开现有报表或创建新报表。 可以使用 Web 中的 DAX 查询视图在工作区中编写 DAX 查询。 可以使用工作区中新的浏览数据功能直观地浏览数据。
自动保存更改
对语义模型进行更改时,在实时编辑模式下更改会自动保存,并禁用“保存”按钮。 更改是永久性的,没有撤消选项。
如果两个或多个用户实时编辑同一语义模型并发生冲突,Power BI Desktop 会通知其中一个用户(如下图所示),并将模型刷新到最新版本。 刷新后,需要再次执行你尝试做出的任何更改。
编辑表
OneLake 数据源(通常是 Lakehouse 或 Warehouse)中的表和列的更改(例如导入或 DirectQuery 数据源)不会自动反映在语义模型中。 若要使用最新架构更新语义模型(例如获取现有表中的列更改,添加或删除表),请转到“转换数据”>“数据源设置”>“编辑表”。
详细了解如何编辑 Direct Lake 语义模型的表。
使用刷新
在启用“Direct Lake 数据保持最新”时,Direct Lake 模式下的语义模型会自动反映增量表中的最新数据更改。 禁用时,可以使用 Power BI Desktop“刷新”按钮手动刷新语义模型,以确保它面向最新版本的数据。 这有时也称为“重构”。
导出到 Power BI 项目
若要在 Direct Lake 模式下支持语义模型的专业企业开发工作流,可以在打开语义模型进行编辑后导出其定义,该定义提供语义模型和报表元数据的本地副本,可将其与 Fabric 部署机制(如 Fabric Git 集成)配合使用。 启用 Power BI Desktop 报表视图允许你查看和编辑本地报表,不能直接从 Power BI Desktop 发布,但可以使用 Git 集成发布。 还启用了“保存”按钮,以便将本地模型元数据和报表保存到 Power BI 项目文件夹中。
导航到“文件”>“导出”>“Power BI 项目”,并将其导出为“Power BI 项目文件(PBIP)”
默认情况下,PBIP 文件将导出到 %USERPROFILE%\Microsoft Fabric\repos\[Workspace Name]
文件夹。 但是,可以在导出过程中选择其他位置。
选择“导出”将打开包含导出语义模型的 PBIP 文件的文件夹以及空报表。
导出后,应打开 Power BI Desktop 的新实例,并打开导出的 PBIP 文件,以继续使用 Power BI 项目进行编辑。 打开 PBIP 文件时,Power BI Desktop 会提示你在 Fabric 工作区中创建新的语义模型,或选择现有的远程建模语义模型。
使用 Power BI 项目进行远程建模
使用无法在本地 Power BI Analysis Services 引擎(如 Direct Lake 模式)上运行的语义模型(例如 Direct Lake 模式)处理 Power BI 项目 (PBIP) 时,Power BI Desktop 需要连接到 Fabric 工作区中的语义模型(远程语义模型)。 跟实时编辑一样,所做的每一项更改都会立即应用于工作区中的语义模型。 但是,与实时编辑不同的是,可以将语义模型和报表定义保存到本地 PBIP 文件,这些文件稍后可以使用部署机制(如 Fabric Git 集成)部署到 Fabric 工作区。
注意
使用 Fabric Git 集成导出到 Git 存储库时,可以使用 Power BI Desktop 编辑 Direct Lake 模式下的语义模型。 若要这样做,请确保至少有一个报表连接到语义模型,然后打开报表导出的 definition.pbir 文件以编辑报表和语义模型。
打开 Power BI 项目
打开需要远程语义模型的 Power BI 项目 (PBIP) 时,Power BI Desktop 会提示在 Fabric 工作区中创建新的语义模型或选择现有的语义模型。
如果选择现有的语义模型,且定义不同,Power BI Desktop 会在覆盖之前发出警告,如下图所示。
注意
可以选择从中导出 PBIP 的同一语义模型。 但是,在使用需要远程语义模型的 PBIP 时,最佳做法是让每个开发人员使用自己的专用远程语义模型,以避免与其他开发人员的更改发生冲突。
选择标题栏会显示位于 Fabric 工作区中的 PBIP 文件位置和远程语义模型,如下图所示。
本地设置将使用配置的语义模型保存在 Power BI 项目文件中,下次打开 PBIP 时,不会看到提示,并且 Fabric 语义模型将被 Power BI 项目文件中语义模型的元数据覆盖。
更改远程语义模型
在预览期间,如果要在 PBIP 中切换远程语义模型,必须导航到 \*.SemanticModel\.pbi\localSettings.json
文件。 在那里,可以将 remoteModelingObjectId 属性修改为要连接到的语义模型的 ID,或者完全删除该属性。 重新打开 PBIP 后,Power BI Desktop 将连接到新的语义模型,或提示创建或选择现有的语义模型。
注意
本节中所述的配置仅用于本地开发,不应用于在不同环境中进行部署。
Power BI Desktop 中 Direct Lake 的常见用途
应用场景:打开 Direct Lake 语义模型以使用 Power BI Desktop 编辑时遇到错误。
解决方案:查看所有要求和权限。 如果满足所有要求,请检查是否可以使用 Web 建模编辑语义建模。
应用场景:我与远程语义模型断开连接,并且无法恢复。 我的更改是否丢失?
解决方案:所有更改会立即应用于远程语义模型。 始终可以关闭 Power BI Desktop,并使用正在使用的语义模型重启编辑会话。
应用场景:导出到 Power BI 项目 (PBIP)。 是否可以选择我实时编辑的同一语义模型?
解决方案:可以,但应小心。 如果每个开发人员都使用各自的本地 PBIP,并且都选择同一语义模型作为远程模型,则他们将覆盖彼此的更改。 使用 PBIP 时,最佳做法是让每个开发人员拥有自己的 Direct Lake 语义模型独立副本。
应用场景:我正在实时编辑 Direct Lake 语义模型,却无法创建字段参数。
解决方案:实时编辑语义模型时,报表视图不可用,这是字段参数 UI 所必需的。 可以导出到 Power BI 项目 (PBIP),然后打开它以访问报表视图和字段参数 UI。
应用场景:我使用外部工具对语义模型进行了更改,但看不到 Power BI Desktop 中反映这些更改。
解决方案:外部工具所做的更改将应用于远程语义模型,但只有在 Power BI Desktop 中进行下一次建模更改或刷新语义模型后,这些更改才会在 Power BI Desktop 中可见。
要求和权限
- 必须在租户上启用 XMLA 终结点。 在 XMLA 终结点文章中了解详细信息。
- 必须在容量上启用具有读写访问权限的 XMLA 终结点。 在工具文章中了解详细信息。
- 用户必须具有对语义模型的写入权限。 有关详细信息,请参阅权限文章。
- 用户必须具有湖屋的观看者权限。 有关详细信息,请参阅湖屋文章。
- 此功能对具有免费许可证的用户不可用。
注意事项和限制
Power BI Desktop 中 Direct Lake 模式下的语义模型的实时编辑目前为预览版。 请记住以下几点:
- 无法编辑默认语义模型。
- 无法使用 Power Query 编辑器转换数据。 在 Lakehouse 中,可以使用数据流来执行 Power Query 转换。
- 不能有多个数据源。 可以通过快捷方式或将其他数据添加到 Lakehouse 或 Warehouse 数据源,以在语义模型中使用。
- 无法从 Power BI Desktop 发布 Power BI 项目 (PBIP)。 可以使用 Fabric Git 集成或 Fabric 项 API 等 Fabric 部署机制将本地 PBIP 文件发布到 Fabric 工作区。
- 无法在 Power BI Desktop 中验证 RLS 角色。 可以在服务中验证角色。
- 服务创建的模型图布局不会显示在 Power BI Desktop 中,Power BI Desktop 中创建的布局不会保留在 Power BI 服务中。
- 在编辑期间注销可能会导致意外错误。
- 可以打开外部工具,但外部工具必须管理对远程语义模型的身份验证。
- 将数据类别更改为条形码不允许按条形码来筛选链接到语义模型的报表。
- 外部共享语义模型不符合实时编辑的条件。
此外,请考虑 Direct Lake 的当前已知问题和限制。