Power BI 服务数据源
数据是 Power BI 的核心。 可以通过创建图表和仪表板,或使用“问答”提问来探索数据。 可视化效果和答案从语义模型(来自数据源)获取它们的基础数据。
本文侧重于可以从 Power BI 服务连接到的数据源类型。 另外,还有许多其他类型的数据源。 要在 Power BI 服务中使用这些其他数据源,可能需要先使用 Power BI Desktop 或 Excel 中的高级数据查询和建模功能。 有关详细信息,请参阅数据源和其他数据源。
发现内容
可以使用 OneLake 目录来发现现有数据和报表。
在您的 Power BI 站点的导航窗格中,选择 OneLake。
当 OneLake 目录打开时,会显示您有权限访问的数据列表。 可以筛选以显示所有项目、你自己的项目或被你所在组织中的某个人认可的项目。
可以在导航窗格中选择“应用”来发现组织中其他人发布的应用。 在该选项卡的右上角,选择“获取应用”来从你使用的在线服务中选择应用:
许多服务都有适用于 Power BI 的模板应用。 大多数服务要求具有帐户。 有关详细信息,请参阅使用 Power BI 连接到要使用的服务。
创建内容
要创建内容,你可以导入或创建文件或数据库。
文件
要导入文件:
转到要将文件导入到的工作区。 选择 “新建项”,然后在打开的选择窗格中,选择 语义模型:
选择“Excel”或“CSV”。 还可以粘贴或手动输入数据。
导入 Excel 或 CSV 文件或手动创建工作簿时,Power BI 会将表和任何数据模型中的任何受支持的数据导入到新的 Power BI 语义模型中。
还可以上传文件。 对 .pbix 文件使用此方法。 上传 OneDrive 或 SharePoint 中的 Excel 文件时,Power BI 会创建与该文件的连接。 选择上传本地文件时,Power BI 会将该文件的副本添加到工作区。
要上传文件,请在“我的工作区”选项卡上,选择“上传”以上传本地文件或 SharePoint 或 OneDrive 中的文件:
以下是你可以添加的一些文件类型:
Excel 工作簿(.xlsx 和 .xlsm)文件可以包含不同的数据类型。 例如,工作簿可以包含你自己输入到工作表中的数据,或者你使用 Power Query 从外部数据源查询和加载的数据。 可以通过 Excel 的“数据”选项卡上的“获取和转换数据”或在 Power Pivot 中通过“获取外部数据”来使用 Power Query。 你可以从工作表中的表导入数据,也可以从数据模型导入数据。 有关详细信息,请参阅从 Power BI 文件获取数据。
Power BI Desktop (.pbix) 从外部数据源报告文件、查询和加载数据以创建报表。 在 Power BI Desktop 中,可以使用度量值和关系来扩展数据模型,并将 .pbix 文件发布到 Power BI 服务。 Power BI Desktop 适合于非常了解其数据源、数据查询和转换,以及数据建模的高级用户。 有关详细信息,请参阅连接到 Power BI Desktop 中的数据源。
逗号分隔值 (.csv) 文件是包含逗号分隔值的数据行的简单文本文件。 例如,包含名称和地址数据的 .csv 文件可能有许多行,每个行都有名字、姓氏、街道地址、城市和省/市/自治区的值。 不能将数据导入 .csv 文件,但许多应用程序(如 Excel)可将简单的表格数据另存为 .csv 文件。
对于其他文件类型,如 XML (.xml) 或文本 (.txt),可以首先使用 Excel 的“获取和转换数据”来查询、转换和加载数据。 然后可以将 Excel 文件导入 Power BI 服务。
存储文件的位置具有重要意义。 OneDrive 提供了最大程度的灵活性以及与 Power BI 的集成。 你也可以将文件保存在本地驱动器上,但如果需要刷新数据,需要执行一些额外的步骤。 有关详细信息,请参阅从 Power BI 文件获取数据。
数据库
可以将 Azure 数据库连接到 Power BI 以获取提供实时见解的分析和报表。 例如,可以连接到 Azure SQL 数据库,并通过在 Power BI 中创建报表来浏览数据。 每当你对数据进行切片或向可视化效果添加字段时,Power BI 都会直接查询数据库。
有关详细信息,请参阅:
还可以使用 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 对发送到基础数据源的查询结果施加限制。 如果发送到数据源的查询返回超过 100 万行,则会出现错误,查询将失败。 基础数据仍可包含超过 100 万行。 由于大多数报表将数据聚合为较小的结果集,因此不太可能达到此限制。
列限制。 一个语义模型中的所有表格允许的最大列数是 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 源。 请改用用户主体名称 (UPN) 针对启用了 SSO 的 DirectQuery 语义模型执行此类查询。