Power BI Desktop可连接处理不同类型的数据,表2-2-1列出了Power BI Desktop按数据源类型支持的各种数据。Power BI 团队正在不断开发和完善适用于各种数据源的连接器。因此,用户通常会看到一些数据源后的标记为“Beta版本”,表明该版本数据源目前还不稳定,功能也会受限,注意不应在生产环境中使用这类型的数据源。
表2-2-1 Power BI支持的数据源及分类
用户可以通过单击“功能区”中的“获取数据”,在下拉列表中选择“更多…”选项(参见图2-1-3),来查看Power BI Desktop中支持的数据源分类,如图2-2-1所示。
图2-2-1 数据源分类
Power BI Desktop连接每个数据源时都需要安装合适的驱动程序(提供程序)来获取数据。Power BI Desktop已经集成了微软的SQL Server、Excel和文本文件的驱动程序,如果用户需在Power BI Desktop中连接其他第三方的数据源,则需要在计算机上安装连接第三方数据源的驱动程序。例如,获取Oracle数据库中的数据(Power BI Desktop支持连接Oracle 9及以上版本),在试图连接Oracle数据源的时候,用户如果没有安装相应的驱动程序(图2-2-2中所指的“提供程序”),Power BI Desktop会弹出对话框提醒用户安装,如图2-2-2所示。用户通过单击“了解详细信息”链接就可以下载Oracle的驱动程序。
图2-2-2 连接Oracle数据库存时的提示对话框
Power BI Desktop通过不同的数据连接模式连接各种数据源,可以将数据导入 Power BI Desktop,也可以在源存储库中直接连接数据。前者是Power BI Desktop获取数据最常用的方法,即导入数据;后者称为DirectQuery。
(1) 导入。如果在Power BI Desktop中使用“获取数据”下拉按钮连接数据源时选择“导入”模式,则该连接行为如下:
● 在初始获取数据的体验期间,Power BI Desktop在查询编辑器中为用户所选的每个表定义一个将返回一组数据的查询,可以在加载数据之前对这些查询进行编辑,例如应用筛选器、聚合数据或连接不同的表。查询编辑器的内容将在2.4节具体介绍。
● 加载时,这些查询定义的所有数据都将被导入Power BI Desktop高速缓存中。在Power BI Desktop中生成视觉对象时,系统会查询加载到高速缓存中的数据并返回查询结果,从而快速生成视觉对象。
● 对源数据的任何更改都不会反映在视觉对象中。用户必须先执行“刷新”操作,然后重新导入数据。
● 报表(.pbix文件)发布到Power BI服务时,会创建一个数据集并上传到Power BI服务。该数据集包含导入的数据。随后用户可以对该数据设置按计划刷新,例如每天重新导入数据。用户可能还需配置本地数据网关,具体取决于源数据的位置。
关于设置计划刷新,以及配置网关的相关内容请参照第3章的内容。
(2) DirectQuery。如果在Power BI Desktop中使用“获取数据”下拉按钮连接数据源时选择DirectQuery模式,则该连接行为如下:
● 在初始获取数据体验期间,对于关系数据源,Power BI Desktop在查询编辑器中仍可为用户所选的每个表定义一个返回一组数据的查询;但是如果查询编辑器中的查询过于复杂将会出错。对于SAP Business Warehouse等多维度数据源而言,没有查询编辑器,仅能选择数据源加载。
● 加载时,不会将数据导入Power BI Desktop高速缓存。相反,在Power BI Desktop中生成视觉对象时,系统会向初始数据源发送查询以检索所需数据。刷新视觉对象所花费的时间取决于源数据库的性能。
● 将报表发布到Power BI服务时,将在Power BI服务中生成数据集(和导入模式相同)。但是,该数据集不存储任何数据。
● 在Power BI服务中打开现有报表或创建新报表时,将再次查询源数据以检索所需数据。用户是否需要配置本地数据网关,也取决于原始数据源的位置(和导入模式中刷新数据所用步骤相同)。