具有 DirectQuery 的 Azure SQL 数据库
Azure Synapse Analytics 与 DirectQuery
还可以使用 Power BI Desktop 或 Excel 连接到各种其他数据库的数据模型、对其发起查询并将数据加载到其中。 然后,可以将该文件导入存在语义模型的 Power BI。 如果你要配置计划刷新,Power BI 会使用该配置以及来自文件的连接信息直接连接到数据源。 Power BI 会查询更新并将这些更新加载到语义模型中。 有关详细信息,请参阅
连接到 Power BI Desktop 中的数据
。
其他数据源
可以将数百个不同的数据源与 Power BI 配合使用。 数据必须采用 Power BI 服务易使用的格式。 然后,Power BI 可以使用数据创建报表和仪表板,并通过“
问答
”来回答问题。
部分数据源已经针对 Power BI 服务设置数据格式。 这些数据源类似于 Google Analytics 和 Twilio 等服务提供商提供的模板应用。 SQL Server Analysis Services 表格模型数据库也可供使用。
在其他情况下,可能需要查询并加载你希望添加到某个文件中的数据。 例如,贵组织可能将物流数据存储在服务器上的数据仓库数据库中。 但只有在数据库是表格模型数据库时,Power BI 服务才能连接到该数据库并开始浏览其数据。 你可以使用 Power BI Desktop 或 Excel 查询该物流数据,并将其加载到稍后要另存为文件的表格数据模型中。 可以将该文件导入存在语义模型的 Power BI。
如果数据库中的物流数据每天都在变化,可以刷新 Power BI 语义模型。 将数据导入语义模型时,还可以从 Power BI Desktop 或 Excel 文件导入连接信息。
如果你在语义模型上配置计划刷新或手动刷新,Power BI 将使用连接信息与其他设置一起直接连接到数据库。 然后,Power BI 会查询更新并将这些更新加载到语义模型中。 你可能需要
本地数据网关
来保护本地服务器和 Power BI 之间的任何数据传输。 传输完成后,报表和仪表板中的可视化效果会自动刷新。
因此,即使无法直接从 Power BI 服务连接到数据源,仍然可以将这些数据导入 Power BI。 只是需要几个额外的步骤,以及来自 IT 部门的一些帮助。 有关详细信息,请参阅
Power BI Desktop 中的数据源
。
语义模型和数据源
你可能会看到术语
语义模型
和
数据源
作为同义词使用。 但是语义模型和数据源是两种不同的东西,尽管它们是相关的。
当你连接到文件、模板应用或实时数据源并从中导入数据时,Power BI 会自动创建语义模型。 语义模型包含有关数据源和数据源凭据的信息。 语义模型通常还包含从数据源复制的数据子集。 在报表和仪表板中创建可视化效果时,你看到的通常是语义模型中的数据。
语义模型中的数据来自数据源。 例如,数据可能来自以下数据源:
Google Analytics 或 QuickBooks 等联机服务
云中的数据库,如 Azure SQL 数据库
贵组织中本地计算机或服务器上的数据库或文件
如果你将文件保存在本地驱动器或组织的某个驱动器上,则可能需要本地网关才能刷新 Power BI 中的语义模型。 存储文件的计算机必须在刷新期间运行。 你还可以重新导入文件或使用 Excel 或 Power BI Desktop 中的“
发布
”,但这些过程都不是自动化的。
如果你将文件保存在 OneDrive 工作版或学校版或 SharePoint 团队网站上,则语义模型、报表和仪表板始终是最新的。 由于 OneDrive 和 Power BI 都在云中,因此 Power BI 可以直接连接到文件或将文件导入 Power BI。 Power BI 大约每小时连接一次并检查更新。 如果有任何更新,语义模型和任何可视化效果都会自动刷新。
大多数情况下,服务中的模板应用也会每天自动更新一次。 你可以手动刷新这些应用,但能否看到更新的数据取决于服务提供商。 组织中的人员对模板应用的更新取决于他们使用的数据源,以及应用创建者对刷新的配置。
SQL 数据库、Azure Synapse Analytics 和 Azure HDInsight 中的 Spark 等 Azure 数据库都是云数据源。 Power BI 服务也位于云中,因此 Power BI 可以使用
DirectQuery
实时连接到这些数据源。 通过 DirectQuery,Power BI 始终保持同步,你无需设置计划刷新。
SQL Server Analysis Services 是与 Power BI 的实时连接,就像 Azure 云数据库一样。 不同之处在于数据库位于组织中的服务器上。 此类连接需要 IT 部门可以配置的本地网关。
使用 Power BI 时,数据刷新是一个重要考虑因素。 有关详细信息,请参阅
Power BI 中的数据刷新
。
注意事项和限制
Power BI 服务的数据源具有以下限制。 此外还有适用于特定功能的其他限制,但下面的列表内容适用于整个 Power BI 服务:
语义模型大小限制
。 存储在 Power BI 服务共享容量中的语义模型的大小限制为 1-GB。 对于较大的语义模型,请使用
Power BI Premium
。
列中的非重复值。 当 Power BI 语义模型在导入模式下缓存数据时,它最多可以在一个列中存储 1,999,999,997 个非重复值。
行限制。 当你使用 DirectQuery 时,Power BI 对发送到基础数据源的查询结果施加限制。 如果发送到数据源的查询返回超过一百万行,则会出现错误,查询将失败。 基础数据仍可包含超过一百万行。 由于大多数报表将数据聚合为较小的结果集,因此不太可能达到此限制。
列限制。 一个语义模型中的所有表格允许的最大列数是 16,000 列。 此限制适用于 Power BI 服务以及 Power BI Desktop 使用的语义模型。 Power BI 使用此限制跟踪语义模型中的列数和表数,这意味着语义模型中每个表的最大列数为 16,000 减 1。
数据源用户限制。 对于每位用户,最多只能有 1,000 个数据源。 此限制仅适用于 Power BI 服务。
单一登录 (SSO) 注意事项
。 DirectQuery 模型可以启用对其数据源的 SSO 访问,从而允许源系统中的安全性隐式应用于每个用户执行的 DAX 查询。 可以为每个支持 SSO 的源连接启用 SSO(并非所有连接类型都支持 SSO),并且每个 SSO 连接可能要求为某些类型的源配置网关或 VNET。 可以在
数据网关的 SSO
一文中详细了解如何为网关启用 SSO。
不支持使用服务主体 (SPN) 查询启用了 SSO 的 DirectQuery 模型,因为 SPN 凭据无法以直通方式传递到 DirectQuery 源。 请改用服务主体 (SPN) 针对启用了 SSO 的 DirectQuery 语义模型执行此类查询。
使用 Power BI 连接到要使用的服务
从 Power BI 文件获取数据
Power BI 中的数据刷新
Power BI 中的 DirectQuery
本地数据网关是什么?
Power BI Desktop 中的数据源