微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,以用于进行更深入的分析。
简介
假设你已从若干不同的源将数据导入了 Power BI,但在检查这些数据时,这些数据并没有做好用于进行分析的准备。 是什么使数据没有为分析做好准备?
检查数据时,你发现了一些问题,包括:
名为 Employment status 的一列仅包含数字。
若干列包含错误。
某些列包含 NULL 值。
某些列中显示的客户 ID 似乎是重复复制的。
单一地址列合并有“街道地址”、“城市”、“省/市/自治区”以及“邮政编码”。
你随即开始处理数据,但每次在报表上创建视觉对象时,都会得到错误的数据和不正确的结果,并且关于销售总额的简单报表也是错误的。
由于脏数据可能过于繁多,你可能会感到沮丧,但你决定开始着手处理,想办法使此语义模型尽可能恢复纯净的状态。
幸运的是,Power BI 和 Power Query 为你提供了功能强大的环境,用于清理和准备数据。 清理数据具有以下优点:
度量值和列在执行聚合和计算时会生成更准确的结果。
表经过了整理,用户可以从中以直观的方式查找数据。
重复项会被删除,使数据导航更为简单。 它还将生成可用于切片器和筛选器的列。
一个复杂的列可以被拆分为两个更简单的列。 可以将多列合并成一列,易于阅读。
可以将代码和整数替换为可读的值。
通过学习本模块,你将了解如何:
解决不一致、意外或 NULL 值以及数据质量问题。
应用用户友好的值替换。
分析数据,使你在使用数据之前能了解特定列的更多信息。
评估和转换列数据类型。
将数据形状转换应用于表结构。
合并查询。
将用户友好的命名约定应用于列和查询。
在高级编辑器中编辑 M 代码。
调整初始数据
Power BI Desktop 中的 Power Query 编辑器使你能够调整(转换)导入的数据。 你可以完成如下操作:重命名列或表、将文本更改为数字、删除行,以及将第一行设为标头等。 务必对数据进行调整,从而确保它满足你的需求并且适合在报表中使用。
你已将两个源中的原始销售数据加载到一个 Power BI 模型中。 某些数据来自销售团队在 Microsoft Excel 中手动创建的 .csv 文件。 其他数据是通过连接到你组织的企业资源计划 (ERP) 系统来加载的。 现在,当在 Power BI Desktop 中查看数据时,你注意到数据是杂乱的;不需要的某些数据和所需的某些数据的格式都不正确。
在开始生成报表之前,需要使用 Power Query 编辑器对数据进行清理和调整。
Power Query 编辑器入门
若要开始调整数据,请在 Power BI Desktop 的“开始”选项卡上选择“转换数据”选项来打开 Power Query 编辑器。
在 Power Query 编辑器中,所选查询中的数据会显示在屏幕中间,而在屏幕左侧,“查询”窗格会列出可用的查询(表)。
在 Power Query 编辑器中工作时,你对数据进行调整的所有步骤都会被记录下来。 随后,每当查询连接到数据源时,它会自动应用你的步骤,从而使你的数据始终按你指定的方式调整。 Power Query 编辑器仅对数据的特定视图进行更改,因此,你无需担心会对原始数据源造成任何更改。 可以在屏幕右侧的“查询设置”窗格中查看你的步骤列表以及查询的属性。
Power Query 编辑器功能区包含许多可用于选择、查看和调整数据的按钮。
图片
识别列标头和名称 对初始数据进行调整的第一步是标识数据内的列标头和名称,然后评估它们所在的位置以确保它们位于正确的位置。
在下面的屏幕截图中,SalesTarget(一个未提供的示例)的 csv 文件中的源数据有一个按产品分类的目标,以及按月份拆分的一个子类别,这两者都被整理成了列。
然而,你会注意到数据没有按预期导入。
这使数据难以阅读。 在数据处于当前状态时会发生问题,因为列标头位于不同的行中(标记为红色),并且若干列有未描述的名称,例如“Column1”和“Column2”等。
在识别了列标头和名称所在的位置后,可以进行更改以重新整理数据。
提升标头
当表在 Power BI Desktop 中创建后,Power Query 编辑器会假设所有数据都属于表行。 但是,数据源的第一行可能会包含列名称,这是之前 SalesTarget 示例中发生的情况。 若要更正此误差,需要将第一个表行提升为列标头。
可以通过两种方式提升标头:在“开始”选项卡上选择“将第一行用作标头”选项,或选择“Column1”旁边的下拉菜单按钮,然后选择“将第一行用作标头”。
下图说明了“将第一行用作标头”功能会对数据造成哪些影响:
重命名列
调整数据的下一步是检查列标头。 你可能会发现,一列或多列的标头错误、标头拼写错误,或者标头命名约定不一致或对用户不友好。
请参阅前面的屏幕截图,上面显示了“将第一行用作标头”功能的影响。 请注意,包含子类别“Name”数据的列现在的标头变成了“Month”。 此列标头不正确,因此需要对它进行重命名。
可以通过两种方式对列标头进行重命名。 一种方法是右键单击标头,选择“重命名”,编辑名称,然后按 Enter。 或者,可以双击列标头,然后使用正确的名称覆盖该名称。
还可以通过以下方法解决此问题:删除(跳过)前两行,然后将列重命名为正确名称。
删除前几行
在调整数据时,可能需要删除前几行,例如,当这些行为空白或者包含报表中不需要的数据时。
继续使用 SalesTarget 示例时,可以注意到,第一行为空白(没有数据),第二行的数据已不再需要。
</