适用于:✅Microsoft Fabric 中的 SQL 分析终结点、仓库和镜像数据库
在 Microsoft Fabric 中,Power BI 语义模型是分析域的逻辑描述,其中包含指标、业务友好的术语和表示形式,可实现更深入的分析。 此语义模型通常是一个星型架构,其中包含表示域的事实和可用于分析域,或对域进行切片和切块的维度,以便向下钻取、筛选和计算不同的分析。
在 Lakehouse 或仓库上创建语义模型时,选择要添加的表。 在此处,可以 手动更新 Power BI 语义模型。
注意
从 2025 年 9 月 5 日起,创建仓库、Lakehouse 或镜像项时,不再自动创建 Power BI 默认 语义模型。 如果项还没有语义模型,则可以 创建 Power BI 语义模型。 现有的默认语义模型将转换为常规语义模型。 有关详细信息,请参阅 日落默认语义模型。
Microsoft已将 Power BI 数据集 内容类型重命名为 Power BI 语义模型 或仅 将语义模型重命名。 这也适用于 Microsoft Fabric。 有关详细信息,请参阅 Power BI 数据集的新名称。 若要了解有关 Power BI 语义模型的详细信息,请参阅 Power BI 服务中的语义模型。
Direct Lake 模式
Direct Lake 模式是一项突破性的全新引擎功能,能够分析 Power BI 中的海量数据集。 该技术基于直接从数据湖使用 parquet 格式文件的理念,无需查询仓库或 SQL 分析终结点,也无需将数据导入或复制到 Power BI 语义模型中。 这种本机集成带来了一种从仓库或 SQL 分析终结点访问数据的独特模式,称为 Direct Lake。 Direct Lake 概述提供了有关 Power BI 语义模型的此存储模式的详细信息。
Direct Lake 提供性能最高的查询和报告体验。 通过 Direct Lake 可快速地将数据湖中的数据直接加载到 Power BI 引擎,可随时分析。
在传统的 DirectQuery 模式下,Power BI 引擎直接从源中查询每个查询执行的数据,查询性能取决于数据检索速度。 DirectQuery 无需复制数据,可确保源中的任何更改立即反映在查询结果中。
在导入模式下性能更好,因为数据在内存中随时可用,无需每次执行查询时都从数据源查询数据。 但是,Power BI 引擎必须在数据刷新时首先将数据复制到内存中。 在下一次数据刷新期间,对基础数据源所做的任何更改都会被捕捉。
Direct Lake 模式通过将数据文件直接加载到内存中来消除了复制数据的导入要求。 由于没有显式导入过程,因此可以在数据源发生变化时及时捕捉。 Direct Lake 结合了 DirectQuery 和导入模式的优点,同时避免其缺点。 Direct Lake 模式是分析超大型数据集和频繁更新数据源的数据集的理想选择。 Direct Lake 将使用仓库的 SQL 分析终结点,或者使用 SQL 分析终结点(如果 Direct Lake 超出 SKU 的限制),自动回退到 DirectQuery,或者使用不支持的功能,从而允许报表用户继续不间断。
Direct Lake 模式是在仓库或 SQL 分析终结点上创建的新 Power BI 语义模型的存储模式。
使用 Power BI Desktop,还可以使用仓库 SQL 分析终结点或 SQL 分析终结点来创建 Power BI 语义模型,作为导入模式或 DirectQuery 存储模式下的语义模型的数据源。
手动更新 Power BI 语义模型
默认情况下,Fabric 不会在创建时自动将表和视图添加到 Power BI 语义模型,并且不会从其仓库或 SQL 分析终结点源自动同步语义模型。
Power BI 语义模型中存在对象后,可以验证或直观地检查包括的表:
- 在 Fabric 工作区中打开 语义模型 项。
- 将模式从 “查看 ”切换到 “编辑”。
- 查看语义模型的默认布局。 根据需要进行更改。 有关详细信息,请参阅 Power BI 服务中的“编辑数据模型”。
监视 Power BI 语义模型
可以通过连接到 XMLA 终结点,通过 SQL Server Profiler 监视和分析语义模型上的活动。
SQL Server Profiler 随 SQL Server Management Studio (SSMS) 一起安装,并允许跟踪和调试语义模型事件。 尽管 Profiler 已正式被 SQL Server 弃用,但仍在 SSMS 中保留,并仍支持 Analysis Services 和 Power BI。 与 Fabric 语义模型配合使用需要 SQL Server Profiler 版本 18.9 或更高版本。 用户必须在与 XMLA 终结点连接时将语义模型指定为初始目录。 若要了解详细信息,请参阅适用于 Analysis Services 的 SQL Server Profiler。
编写 Power BI 语义模型的脚本
可以使用 SQL Server Management Studio(SSMS)从 XMLA 终结点编写 Power BI 语义模型脚本。
可以通过 SSMS 中的对象资源管理器为语义模型编写脚本,来查看语义模型的表格模型脚本语言 (TMSL) 架构。 若要连接,请使用语义模型的连接字符串,类似于 powerbi://api.powerbi.com/v1.0/myorg/username。 可以在“服务器设置”下的“设置”中找到语义模型的连接字符串。 在此处,可以通过 SSMS 的“脚本”上下文菜单操作生成语义模型的 XMLA 脚本。 有关详细信息,请参阅与 XMLA 终结点的数据集连接。
若要编写脚本,需要对 Power BI 语义模型拥有 Power BI 写入权限。 使用读取权限,可以查看数据,但看不到语义模型的架构。
创建新的 Power BI 语义模型
可以在 Microsoft Fabric 中创建基于 lakehouse、SQL 分析终结点或仓库项的 Power BI 语义模型。
在 Direct Lake 模式下创建新的 Power BI 语义模型
可以使用“打开数据模型”,在工作区中编辑这些新的 Power BI 语义模型,还可将这些语义模型与其他功能配合使用,例如编写 DAX 查询和语义模型行级安全。
若要使用 Direct Lake 模式创建 Power BI 语义模型,请执行以下步骤:
- 在 Fabric 门户中,基于所需项创建新的语义模型:
- 打开 Lakehouse,在功能区上选择“新建 Power BI 语义模型”。
- 或者,打开相关项(例如仓库或 SQL 分析终结点),选择 “新建语义模型”。
- 输入新语义模型的名称,选择要在其中保存模型的工作区,然后选择要包括的表。 然后选择“确认”。
- 新的 Power BI 语义模型可在工作区中进行编辑,包括添加关系和度量值、重命名表和列、选择如何在报表视觉对象中显示值等。 如果在创建之后模型视图未显示,请检查浏览器的弹出阻止程序。
- 若要稍后编辑 Power BI 语义模型,请从语义模型上下文菜单或项详细信息页中选择“打开数据模型”,以便进一步编辑语义模型。
可通过在 Web 建模中选择“新建报表”,在工作区中创建 Power BI 报表,或通过实时连接到新的语义模型,在 Power BI Desktop 中创建 Power BI 报表。 详细了解如何从 Power BI Desktop 连接到 Power BI 服务中的语义模型
在导入或 DirectQuery 存储模式下创建新的 Power BI 语义模型
使用 Microsoft Fabric 中的数据,意味着可以在任何存储模式下创建 Power BI 语义模型,包括 Direct Lake、导入或 DirectQuery。 还可以使用 SQL 分析终结点或仓库数据在导入或 DirectQuery 模式下创建其他 Power BI 语义模型。
若要在导入或 DirectQuery 模式下创建 Power BI 语义模型,请执行以下步骤:
- 打开 Power BI Desktop,登录并选择 OneLake。
- 选择 Lakehouse 或仓库的 SQL 分析终结点。
- 选择 “连接 ”按钮下拉列表,然后选择 “连接到 SQL 终结点”。
- 选择导入或 DirectQuery 存储模式,以及要添加到语义模型的表。
在此处可以创建 Power BI 语义模型和报表,以便在准备就绪时发布到工作区。
创建新的空白 Power BI 语义模型
“新建 Power BI 语义模型”按钮创建新的空白语义模型。
限制
- Fabric 中的语义模型遵循 Power BI 中语义模型的当前限制。 了解更多信息:
- 如果 parquet、Apache Spark 或 SQL 数据类型无法映射到 Power BI 桌面数据类型,则会在同步过程中删除它们。 这与当前 Power BI 行为一致。 对于这些列,建议在其 ETL 进程中添加显式类型转换,以将其转换为受支持的类型。 如果存在上游需要的数据类型,用户可以选择在 SQL 中指定包含所需显式类型转换的视图。 这将由同步选取,也可以按照前面所述手动添加。
- 语义模型只能在 SQL 分析终结点或仓库中编辑。
- 从 2025 年 9 月 5 日起,创建仓库、Lakehouse 或镜像项时,不再自动创建 Power BI 默认 语义模型。 如果项还没有语义模型,则可以 创建 Power BI 语义模型。 现有的默认语义模型将转换为常规语义模型。 有关详细信息,请参阅 日落默认语义模型。