Power BI Desktop 中的 Direct Lake (预览版)

使用 Direct Lake 模式的语义模型直接访问 OneLake 数据,这需要在具有 Fabric 容量的工作区中运行 Power BI Analysis Services 引擎。 使用导入模式或 DirectQuery 模式的语义模型可以使用 Power BI Desktop 在计算机上本地运行 Power BI Analysis Services 引擎来创建和编辑语义模型。 发布后,此类模型在工作区中使用 Power BI Analysis Services 运行。

为了便于在 Power BI Desktop 中编辑 Direct Lake 语义模型,现在可以在 Direct Lake 模式下对语义模型执行 实时编辑,使 Power BI Desktop 能够在 Fabric 工作区中使用 Power BI Analysis Services 引擎更改模型。

Power BI Desktop 中使用 Direct Lake 进行语义模型编辑过程的关系图。

启用预览功能

默认情况下,在 Direct Lake 模式下使用 Power BI Desktop 启用实时编辑语义模型。 可以通过转到“选项和设置”>“选项”>“预览功能”,关闭“在 Direct Lake 模式下实时编辑 Power BI 语义模型”预览选择来禁用此功能。

在 Direct Lake 模式下实时编辑语义模型

若要在 Direct Lake 模式下执行语义模型的实时编辑,请执行以下步骤。

  1. 打开 Power BI Desktop 并选择 OneLake 数据中心

Power BI Desktop 中 OneLake 数据枢纽横幅项的屏幕截图。

还可以从空白报表中打开 OneLake 数据中心,如下图所示:

Power BI Desktop 中 OneLake 数据中心功能区项的屏幕截图。

  1. 在 Direct Lake 模式下搜索语义模型,展开“Connect”按钮,然后选择“编辑”。

Power BI Desktop 中搜索 Direct Lake 模式语义模型的屏幕截图。

注意

选择不在 Direct Lake 模式下的语义模型将导致错误。

  1. 此时会打开所选语义模型进行编辑,此时处于实时编辑模式,如以下屏幕截图所示。

Power BI Desktop 中用于编辑的语义模型的屏幕截图。

  1. 可以使用 Power BI Desktop 编辑语义模型,使你能够直接更改所选语义模型。 更改包括所有建模任务,例如重命名表/列、创建度量值,以及 创建计算组DAX 查询视图 可用于运行 DAX 查询,以便在将数据保存到模型之前预览数据和测试度量值。

Power BI Desktop 中添加计算组和其他可用任务的屏幕截图。

注意

请注意,保存 选项已禁用,因为无需保存。 所做的每一项更改都会立即应用于工作区中的所选语义模型。

在标题栏中,您可以看到工作区和语义模型的名称,并附有链接以便在 Fabric 门户中打开这些项目。

语义模型匹配问题的屏幕截图。

连接并实时编辑语义模型时。 在预览期间,无法选择要编辑的现有报表,并且 报表视图 处于隐藏状态。 可以通过在 Power BI Desktop 的另一个实例或工作区中实时连接到此语义模型来打开现有报表或创建新报表。 可以使用 Web 中的 DAX 查询视图在工作区中编写 DAX 查询。 可以使用工作区中新的浏览数据功能直观地浏览数据。

自动保存更改

当您对语义模型进行更改时,更改将自动保存,并且在实时编辑模式下,“保存”按钮将被禁用。 更改是永久性的,没有撤消的选项。

如果两个或多个用户实时编辑同一语义模型并发生冲突,Power BI Desktop 会通知其中一个用户,如下图所示,并将模型刷新到最新版本。 刷新后,需要再次执行你尝试所做的任何更改。

Power BI Desktop中错误保存语义模型的屏幕截图。

编辑表

OneLake 数据源(通常是 Lakehouse 或 Warehouse)中的表和列的更改(例如导入或 DirectQuery 数据源)不会自动反映在语义模型中。 若要使用最新架构更新语义模型(例如获取现有表中的列更改或删除表),请转到 转换数据 > 数据源设置 > 编辑表

Power BI Desktop 中编辑语义模型的表的屏幕截图。

详细了解如何编辑 Direct Lake 语义模型的表

使用刷新

在启用“使 Direct Lake 数据保持最新”时,Direct Lake 模式下的语义模型会自动反映 Delta 表中的最新数据更改。 禁用时,可以使用 Power BI Desktop “刷新”按钮手动更新语义模型,以确保其指向数据的最新版本。 这有时也称为 重新定义

导出到 Power BI 项目

若要在 Direct Lake 模式下支持语义模型的专业企业开发工作流,可以在打开语义模型进行编辑后导出语义模型的定义,该定义提供语义模型和报表元数据的本地副本,可与 Fabric 部署机制(如 Fabric Git Integration)配合使用。 启用 Power BI Desktop 报表视图后,你可以查看和编辑本地报表。虽然无法直接从 Power BI Desktop 发布,但可以通过 Git 集成进行发布。 启用了 保存 按钮,以便将本地模型元数据和报表保存到 Power BI 项目文件夹中。

导航到 文件 > 导出 > Power BI 项目,并将其导出为 Power BI 项目文件(PBIP)

在 Power BI Desktop 中打开 Power BI 项目的屏幕截图。

默认情况下,PBIP 文件将导出到 %USERPROFILE%\Microsoft Fabric\repos\[Workspace Name] 文件夹。 但是,可以在导出过程中选择其他位置。

屏幕截图,为 Power BI 项目文件选择其他路径位置。

选择 导出 将打开包含导出语义模型的 PBIP 文件以及空报表的文件夹。

导出文件夹的屏幕截图,其中包含 Power BI Desktop 中导出的语义模型的文件。

导出后,应打开 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 Integration)部署到 Fabric 工作区。

在 Power BI Desktop 中,使用 Power BI 项目进行远程语义模型建模的图表。

注意

使用 Fabric Git 集成导出到 Git 存储库时,可以使用 Power BI Desktop 编辑 Direct Lake 模式下的语义模型。 为此,请确保至少有一个报表连接到语义模型,然后打开报表导出的 definition.pbir 文件以编辑报表和语义模型。

打开 Power BI 项目

打开需要远程语义模型的 Power BI 项目(PBIP),Power BI Desktop 会提示你在 Fabric 工作区中创建新的语义模型或选择现有语义模型。

设置 Power BI 项目的远程模型的屏幕截图。

如果选择现有的语义模型,且定义不同,Power BI Desktop 会在覆盖之前发出警告,如下图所示。

Power BI Desktop 中语义模型问题的屏幕截图。

注意

可以选择导出 PBIP 时使用的同一语义模型。 但是,在使用需要远程语义模型的 PBIP 时,最佳做法是让每个开发人员使用自己的专用远程语义模型,以避免与其他开发人员的更改发生冲突。

选择标题栏时,会显示 PBIP 文件位置和位于 Fabric 工作区中的远程语义模型,如下图所示。

语义模型文件位置的屏幕截图。

本地设置将使用配置的语义模型保存在 Power BI 项目文件中,下次打开 PBIP 时,不会看到提示,并且 Fabric 语义模型将被 Power BI 项目文件中语义模型中的元数据覆盖。

更改远程语义模型

预览版期间,如果要在 PBIP 中切换远程语义模型,则必须导航到 \*.SemanticModel\.pbi\localSettings.json 文件。 在那里,可以将 remoteModelingObjectId 属性修改为要连接到的语义模型的 ID,或者完全删除该属性。 重新打开 PBIP 后,Power BI Desktop 将连接到新的语义模型,或提示你创建或选择现有的语义模型。

语义模型 ID 的 屏幕截图。

注意

本节中所述的配置仅用于本地开发,不应用于在不同环境中部署。

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 部署机制,例如 Fabric Git 集成或 Fabric 项目 API,将本地 PBIP 文件发布到 Fabric 工作区。
  • 无法从 Power BI Desktop 验证 RLS 角色。 可以在服务中验证角色。
  • 服务创建的模型关系图布局不会显示在 Power BI Desktop 中,Power BI Desktop 中创建的布局不会保留在 Power BI 服务中。
  • 在编辑过程中注销账号可能会导致意外错误。
  • 可以打开外部工具,但外部工具必须管理对远程语义模型的身份验证。
  • 将数据类别更改为 条形码 不允许链接到语义模型的报表按条形码进行筛选。
  • 外部共享语义模型不符合实时编辑的条件。

此外,请考虑 Direct Lake 的当前已知问题和限制。