Power BI 服务中的语义模型

本文提供 Power BI 语义模型模型的技术说明。

语义模型类型

Power BI 语义模型表示可报告和可视化的数据源。 可以通过以下方式创建 Power BI 语义模型:

  • 连接到非 Power BI 托管的现有数据模型。
  • 上传包含模型的 Power BI Desktop 文件。
  • 上传包含一个或多个 Excel 表和/或工作簿数据模型的 Excel 工作簿,或上传逗号分隔值 (CSV) 文件。
  • 使用 Power BI 服务创建推送语义模型
  • 使用 Power BI 服务创建流或混合流语义模型

除了流语义模型以外,语义模型均表示使用成熟的 Analysis Services 建模技术的数据模型。

注意

Power BI 文档有时可互换使用术语语义模型和模型。 从开发角度来看,Power BI 服务中的语义模型指的是模型。 在文档上下文中,这些术语的含义大致相同。

外部托管模型

外部托管模型分为两种类型:SQL Server Analysis Services 和 Azure Analysis Services

若要连接到 SQL Server Analysis Services 模型,必须在本地或虚拟机托管的基础结构即服务 (IaaS) 上安装本地数据网关。 Azure Analysis Services 无需网关。

当存在现有模型投资时(它们往往会成为企业数据仓库 (EDW) 的一部分),连接到 Analysis Services 通常很有意义。 Power BI 可以实时连接到 Analysis Services,并使用 Power BI 报表用户身份执行数据权限。

SQL Server Analysis Services 同时支持多维模型(或多维数据集)和表格模型。 实时连接语义模型会将查询传递到外部托管模型,如下图所示。

显示实时连接语义模型如何将查询传递到外部托管模型的示意图。

Power BI Desktop 开发的模型

可以使用 Power BI Desktop(用于 Power BI 开发的客户端应用程序)来开发模型。 Power BI Desktop 模型实际上是 Analysis Services 表格模型。

可以使用 Power BI Desktop 开发三种不同类型或模式的模型:Import、DirectQuery 和 Composite。 可以通过从数据流导入数据,然后将其与外部数据源集成来开发模型。 模式取决于是将数据导入模型,还是将它保留在数据源中。 有关这些模式的详细信息,请参阅 Power BI 服务中的语义模型模式

语义模型所有权

使用网关和云连接处理语义模型时,你能否对语义模型进行更改取决于语义模型的所有权。 如果你不是所有者,则会显示一条警告,指出你正在以只读模式查看语义模型信息部分,因为你不是语义模型所有者。 若要进行更改,你必须联系语义模型所有者,或接管语义模型的所有权。

行级别安全性

外部托管模型和 Power BI Desktop 模型可以执行行级别安全性 (RLS),来限制某些用户可以检索的数据。 例如,分配给 Salespeople 安全组的用户可能只能查看其分配到的销售区域的报表数据。 RLS 角色是动态或静态角色。 动态角色按报表用户进行筛选,而静态角色向分配给该角色的所有用户应用同样的筛选器。 有关详细信息,请参阅 Power BI 行级别安全性 (RLS)

Excel 工作簿模型

基于 Excel 工作簿CSV 文件创建语义模型会自动生成模型。 导入的 Excel 表和 CSV 数据创建模型表;Excel 工作簿数据转置创建 Power BI 模型。 在任何情况下,都会将文件数据导入到模型。

总结

综上所述:

  • 表示模型的 Power BI 语义模型要么托管在 Power BI 服务中,要么由 Analysis Services 在外部托管。
  • 语义模型模型可以存储导入的数据,或者向基础数据源发出直通查询请求,还可以同时执行这两项操作。

注意事项

以下重要事实和注意事项适用于代表模型的 Power BI 语义模型:

  • SQL Server Analysis Services 托管的模型需要使用网关执行实时连接查询。
  • 若要查询导入数据的 Power BI 托管模型,必须将它们完全加载到内存中。
  • 使用导入的 Power BI 托管模型需要刷新来保持数据最新,并且在无法直接通过 Internet 访问源数据时,必须使用网关。
  • Power BI 托管的导入模型可以按照计划刷新,也可以由用户在 Power BI 服务中按需触发刷新。
  • 使用 DirectQuery 模式的 Power BI 托管的模型需要连接到源数据。 Power BI 向源数据发出查询,以检索最新数据。 当无法直接通过 Internet 访问源数据时,此模式必须使用网关。
  • 模型可以执行 RLS 规则来筛选特定用户的数据访问。
  • 如果语义模型所有者离开组织,可以使用语义模型 - 接管组 API 接管所有权。

若要成功部署和管理 Power BI 语义模型,应了解以下因素:

  • 模型设计本身,包括其数据准备查询、关系和计算。
  • 以下配置可能会对 Power BI 容量资源产生重大影响:
    • 模型的托管位置
    • 存储模式
    • 网关上的任何依赖项
    • 导入数据的大小
    • 模型刷新类型和频率