在标准数据格式类型里面,有一类比较特殊的数据类型,就是层次结构数据。层次结构数据和标准的结构型数据完全不同,在实际应用过程中使用最为频繁的几种数据类型如下:XML数据格式、JSON数据格式、Yaml数据格式。
目前Power Query不直接支持Yaml格式,但是也有其他的办法进行数据的提取,本书我们不作讨论。在层次数据结构下,数据是按照以下的层次方式进行数据的展示,如图2.24所示。
图2.24 层次数据格式样例
XML数据格式是以标签对的方式实现数据的描述,以<标签>开始,以</标签>结束,例如以下案例。
这里包含了几个封闭标签,最外层的标签为<people> </people>,二层标签为<Students> </Stu-dents>,三层标签写入的是<Student></Student>,四层标签内是数据对象的属性,这里使用了三层标签作为容器,整体的结构缩减如下。
Excel 支持直接在Excel中导入XML的数据,选择“数据”选项卡后再单击“获取数据”下拉按钮,在下拉列表中选择“来自文件”→“从XML”命令,如图2.25所示。
图2.25 在Excel中导入XML文件
导入XML文件后,会发现导入后的文件不能直接使用,需要在如图2.26所示的XML文件中执行数据的再处理操作,才能完成数据内容的提取和使用。
图2.26 XML数据导入之后的界面
当前的数据包含了两个数据表,标签为<Students> </Students>,需要通过在Power Query中转换数据后进行数据再处理。通过单击“转换数据”按钮进入Power Query编辑器界面进行数据的再处理,图2.27所示为导入XML数据到Power Query编辑器的界面。
图2.27 Power Query编辑器导入XML数据
这里可以通过GUI界面进行数据扩展实现数据的展开,展开后就可以选择需要加载到当前数据表中数据的字段列表,图2.28所示为扩展当前Table表格数据的方式。
图2.28 扩展当前的数据内容
将当前的数据进行提取和扩展后就可以完成数据内容的最终提取,将XML数据内容扩展后的最终结果如图2.29所示。
图2.29 Power Query完整展开后的数据
使用Excel进行XML数据导入之后,可以将数据保存到Excel中,同时也可以根据自己的实际需求决定如何进行其他处理。
Power BI支持XML的数据导入,操作与Excel相同。如果我们需要将XML文件导入Power BI中,首先单击“获取数据”下拉按钮,在下拉列表中选择如图2.30所示XML的格式数据。
完成数据的导入之后,层次数据一般会被解析成Table表格或列表数据。这些数据将无法直接提取,需要进行数据的再提取,提取完成后的操作如图2.31所示。
图2.30 Power BI获取XML数据的路径
图2.31 Power BI导入XML数据预览界面
通过单击“转换数据”按钮进入Power Query编辑器界面,这里的数据类型为表格数据类型。需要将表的内容实现数据的扩展,扩展数据的操作就是将列表或表格数据进行展开,图2.32所示为XML数据扩展操作。
图2.32 XML数据扩展操作
在完成表格(列表)数据的扩展之后,所有的结果数据将会以行的方式显示在表格中,数据如图2.33所示。
图2.33 XML数据的展开结果
完成数据再处理之后关闭并应用,处理后的数据将保存在Power BI的数据缓存中。图2.34所示为关闭Power Query之后的数据访问界面。
图2.34 Power BI导入XML数据后的内容