1、第2章 获取数据 本章主要内容:u数据连接模式u连接到文件u连接到数据库u连接Web数据2.1数据连接概要 本节主要内容:u数据源类型u连接模式2.1.1 数据源类型 Power BI可连接多种不同类型的数据源,包括:u文件:Excel、文本/CSV、XML、JSON等类型的文件。u数据库:SQL Server、SQL Server分析服务、Access、Oracle、MySQL等数据库。u联机服务:Salesforce、Dynamics 365、Microsoft Exchange在线等联机服务。uAzure:Azure SQL数据库、Azure SQL数据仓库、Azure分析服务数据库、A
2、zure Blob存储等。u其他数据源:Web页面、Microsoft Exchange、ODBC、OLE DB、Hadoop文件等等。另外,使用自定义的连接器还可连接特殊的数据源。所以,理论上没有Power BI不能连接的数据源。2.1.2连接模式 在Power BI Desktop中“获取数据”时,有3种数据源连接模式:u导入u实时连接uDirectQuery1.导入 导入模式具有如下特点。u建立数据连接时,为数据源中的每个表创建一个查询。可在查询编辑器修改查询。编辑查询也可称为建立数据模型。u加载数据时,查询返回的所有数据都将导入Power BI高速缓存起来。u创建视觉对象时会查询导入的
3、数据,“字段”窗格会列出已导入的所有表和字段。导入的数据在Power BI中高速缓存,所以在用户与视觉对象交互时,可以快速反映视觉对象的所有更改。u视觉对象不能反映数据源中对基础数据发生的变化,除非通过“刷新”重新导入数据。u将报表发布到Power BI服务时,会同时创建一个数据集上传,数据集包含报表中导入的数据。u在Power BI服务中打开现有报表或创作新报表时,会再次执行查询,导入数据源的数据。u刷新数据源后,仪表板中的磁贴会自动刷新。2.实时连接 实时连接模式不导入数据,报表直接查询数据源的基础数据,不对数据进行缓存。在实时连接模式下,不能定义数据模型,即无法定义新的计算列、层次结构、
4、关系等。实时连接的好处就是视觉对象实时反映数据源中基础数据的变化。实时连接模式适用于SQL Server Analysis Services(SSAS)、Power BI数据集和Common Data Services等数据源。3.DIRECTQUERY连接 DirectQuery连接模式与实时连接有类似之处,即不导入任何数据,始终对基础数据源进行查询以更新视觉对象 DirectQuery连接模式具有如下特点。u 建立数据连接时,根据数据源类型执行不同操作。对关系数据源,为每个表建立一个查询。对多维数据源(如SAP BW)则只选择数据源。u 加载数据时,不会导入数据进行缓存。创建视觉对象时,会
5、向数据源发送查询,检索所需数据。u 视觉对象不能及时反映数据源中对基础数据发生的变化,除非进行刷新。DirectQuery连接模式下,刷新意味着向数据源重新发送查询检索数据。u 将报表发布到Power BI服务时,会同时创建一个空的数据集上传。u 在Power BI服务中打开现有报表或创作新报表时,会向数据源发送查询检索数据。u 仪表板中的磁贴会按计划自动刷新,以便快速打开仪表板。打开仪表板时,磁贴反映的是上一次刷新时数据源基础数据的变化,不一定是最新变化。要保证磁贴反映数据源基础数据的最新变化,可反复刷新仪表板。DirectQuery连接模式适用的数据源包括Amazon Redshift、A
6、zure SQL数据库、Azure SQL数据仓库、Impala(版本 2.x)、Oracle 数据库(版本 12 及更高版本)、SAP HANA、Snowflake、SQL Server、Teradata数据库等等。2.2连接到文件 本节主要内容:u连接Excel文件u连接CSV文本文件u连接XML文件u连接JSON文件u连接文件夹2.2.1连接EXCEL文件 Excel几乎可以看作是Power BI的前身,也是处理数据、进行图表分析的办公软件之一。Power BI可连接的Excel文件包括.xl、.xls、.xlsx、.xlsm、.xlsb和.xlw等。演示:连接Power BI财务示例工
7、作簿2.2.2 连接CSV文本文件 CSV文本文件通常使用固定的分隔符(如逗号、分号、制表符等)分隔数据。文件中每一行可作为一条记录,每条记录包含相同数量的数据项(数量也可不同)。演示:连接期末成绩CSV文件2.2.3 连接XML文件XML指Extensible Markup Language(可扩展标记语言)。XML文件是一种文本文件,采用自定义的标记来组织数据。在下面的XML文件中,保存了期末成绩和半期成绩数据。10110103 吴忱 76 28 55 10110103吴忱 704835 演示:导入成绩XML文件2.2.4 连接JSON文件 JSON文件通常包含一个JSON字符串。例如:考
8、号:10110103,姓名:吴忱,语文:76,数学:28,外语:55,考号:010110114,姓名:杨九莲,语文:99,数学:19,外语:33,考号:010110701,姓名:安芸芸,语文:84,数学:30,外语:39,考号:010130101,姓名:刘洋,语文:70,数学:48,外语:35,这是一个JSON数组,其中的换行是为了方便阅读,不是必需的。下面的实例说明如何在Power BI DeskTop中导入这个JSON文件。演示:连接期末成绩JSON文件2.2.5 连接文件夹 文件夹可作为一种特殊的数据源,Power BI Desktop可将文件夹中所有文件的文件名、创建日期、访问日期、文
9、件内容等相关信息作为记录导入数据表。演示:连接文件夹2.3连接到数据库 本节主要内容:u连接SQL Server数据库u连接MySQL 数据库u连接SQL Server分析服务数据库2.3.1连接SQL SERVER数据库 本节实例资源文件“录取数据.bak”是SQL Server数据库备份文件。演示:用该文件在SQL Server服务器中执行数据库还原操作还原数据库。演示:连接SQL Server中的“录取成绩”数据库2.3.2 连接MYSQL数据库 本节实例资源文件“录取数据.bak”是MySQL数据库导出文件。用该文件在MySQL中执行数据导入操作将数据导入新数据库或原有数据库 演示:连
10、接MySQL中的“录取2017”数据库2.3.3 连接SQL SERVER分析服务数据库 本节实例资源文件“MySQLAnalysis.abf”是SQL Server分析服务数据库备份文件。用该文件在SQL Server分析服务器中执行数据库还原操作还原数据库2.4连接WEB数据 Web数据用URL来确定位置。可以是数据文件,如共享的Excel文件。也可以是静态或动态的网页,如html文件或ASP文件等。本节主要内容:u连接Web共享的数据文件u获取网页中的数据2.4.1连接WEB共享的数据文件 在浏览器中单击下载链接可下载共享的数据文件,链接地址就是数据文件的URL。例如,在Power BI文档中,财务示例工作簿的URL地址为http:/ Sample.xlsx。Power BI Desktop可将数据文件URL作为数据源来获取其中的数据。演示:Power BI在线文档中共享的财务示例工作簿2.4.2 获取网页中的数据 在本地计算机中启用IIS服务器以及IIS中的ASP支持,然后将gettable.asp文件复制到IIS默认Web站点发布目录C:inetpubwwwroot。演示:获取ASP文件输出的网页中的数据