Power BI数据清洗实战

张开发
2026/4/14 10:13:58 15 分钟阅读

分享文章

Power BI数据清洗实战
Power BI数据分析与可视化实践【行情 报价 价格 评测】-京东Power BI Desktop的查询编辑器功能非常强大我们继续通过一个实战案例来演示这些常用功能。我们手上有一个Excel文件其中包含门店销售记录文件内有两个表格分别是一店和二店的销售数据如图3-31所示。图3-31我们发现表格中有3行无意义的数据同时需要将一店和二店的数据合并在一起。打开Power BI Desktop工具从功能区的“开始”选项卡中单击“获取数据”下拉按钮在下拉列表中选择“Excel工作簿”选项。随后在弹出的“打开”对话框中选择第3章的案例源文件“门店销售记录.xlsx”。Power BI Desktop会在“导航器”对话框中展示一店和二店的数据表信息。在左侧窗格中选中一个表时右侧窗格中会显示该数据表的数据预览如图3-32所示。图3-32在将数据加载到Power BI Desktop中之前我们先选中“一店”和“二店”然后单击“编辑”按钮来调整数据。首先删除表格中的前3行无用数据。在“开始”功能区选项卡中单击“删除行”按钮选择“删除最前面几行”选项将会打开如图3-33所示的对话框。在该对话框中设置行数为3。对“一店”和“二店”表进行相同的操作。图3-33在“转换”功能区选项卡中单击“将第一行用作标题”命令如图3-34所示。“一店”和“二店”表都需如此操作。图3-34现在我们需要将“一店”和“二店”这两个相同结构的工作表进行合并。我们选中“一店”单击“开始”功能区选项卡中的“追加查询”追加“二店”表如图3-35所示。需要注意的是追加查询只能对结构相同、字段标题相同的表格进行合并若表格结构不同则可能导致错误发生。现在“一店”表已经包含两张表的内容把“一店”表重命名为“销售记录”表。图3-35业务需求是了解产品在下单月份的销售金额汇总情况不需要查看详细数据只需要到产品分类这一级别即可。因此我们还需要引入一张“产品分类”表。在“开始”功能区选项卡中单击“新建源”选择“Excel工作簿”数据源选项如图3-36所示。图3-36选择案例Excel文件“产品分类.xlsx.”在“导航器”对话框中选择“产品分类”表如图3-37所示单击“确定”按钮。图3-37我们需要将多张表进行横向汇总类似于Excel中VLookup函数的功能即向“销售记录”表中添加“产品分类”这一字段。这可以通过“合并查询”功能实现。“合并查询”是指将一张表的新字段信息添加到另一张表中前提是这两张表具有相同的字段属性。具体操作如下选择“销售记录”表然后在“开始”功能区选项卡中单击“合并查询”在“要合并的表”下拉列表中选择“产品分类表”并选择这两张表都具有的相同字段“产品名称”如图3-38所示。这一“合并查询”功能在工作中非常实用以往在Excel中通常通过VLookup函数来完成类似操作。图3-38在完成操作后你会看到“销售记录”表的右侧新增了一个可扩展列。单击右上角的图标会显示可扩展的列选项此时只需勾选“产品分类”字段如图3-39所示。勾选后“产品分类”字段将被成功添加到“销售记录”表中。这一合并结果与在Excel中使用VLookup函数得到的结果一致但无须手动编写公式操作更为便捷。图3-39我们要了解每个产品分类在每个下单月份的销售金额情况。首先我们需要从“销售记录”表中提取“下单日期”字段的月份信息。在“转换”功能区选项卡中单击“日期”选择“月份”如图3-40所示。图3-40完成上述操作后“下单日期”字段中的月份信息已被提取。接下来我们将“下单日期”字段重命名为“月份”如图3-41所示。图3-41如果要对表格进行分类汇总计算可以使用“分组依据”功能。这一功能类似于创建数据透视表。在“转换”功能区选项卡中单击“分组依据”按钮弹出“分组依据”对话框。在该对话框中选择要分组的字段可以是一列或多列。如果是多列可以通过单击加减号进行调整。这里我们以“产品分类”和“月份”为分组依据。分组统计后会生成一个新的统计列我们将该列命名为“销售金额”并选择“求和”操作对“金额”列进行求和如图3-42所示。图3-42如果需要统计每个产品类别在每个月的销售金额可以使用“透视列”功能。在Power BI中透视列功能可以将一维表转换为二维表实现行转列的操作。具体操作为选中“月份”这一列单击“转换”功能区选项卡中的“透视列”将“销售金额”设置为值列并选择“求和”作为聚合值函数如图3-43所示。图3-43透视列后的二维表结果如图3-44所示。图3-44如果我们要把二维表转换成一维表就需要用到“逆透视”功能。在Power BI Desktop的查询编辑器中如何进行逆透视呢如图3-45所示选中“产品分类”列然后单击“转换”功能区选项卡中的“逆透视其他列”命令。图3-45现在已经把二维表转换成一维表了我们重新命名一下如图3-46所示。你只需要记住逆透视就是把表中的列转换成值而透视列则是把值转换成列。图3-46查询编辑器会记录我们对每个查询表的所有数据调整操作这些操作称为“应用的步骤”并将其保存为可查看或修改的文本如图3-47所示。通过查询编辑器的应用步骤功能我们可以修改之前的操作。例如可以删除某个步骤只需选择该步骤旁边的X按钮即可还可以调整步骤的顺序重新排列它们。当我们更新数据时无须重复之前的调整操作只需单击“刷新”按钮查询编辑器就会自动按照保存的步骤顺序依次执行完成数据更新。图3-47另外使用高级编辑器可以查看或修改任何查询的文本。在“视图”功能区选项卡中选择“高级编辑器”时高级编辑器会立即显示。这些查询代码是使用M语言编写的如图3-48所示。图3-48如果你是高级用户对于那些难以通过界面操作完成的数据清洗任务完全可以摆脱界面的束缚直接在高级编辑器中编写M语言代码。M语言的公式和函数库非常庞大且相对复杂关于其函数语法的详细介绍请参考随书赠送的资源。对于初学者而言Power BI Desktop的查询编辑器与其他工具相比大部分数据清洗任务仅需通过鼠标操作即可完成整个清洗流程不仅可视化还具备可复用性。在完成数据清洗后关闭Power Query编辑器并应用更改。由于我们只想将“销售记录”表加载到模型中可以在“二店”表和“产品分类”表的属性中取消勾选“启用加载到报表”复选框这样只有“销售记录表”会被加载到模型中如图3-49所示。最终我们将清洗好的数据加载到Power BI Desktop中如图3-50所示为后续的数据建模和数据可视化操作奠定了基础。图3-49图3-50综上所述Power BI数据整理具备以下能力从各类数据源中提取和加载数据以及利用“Power Query编辑器”对加载的数据进行清洗。Power BI的数据清洗功能其原理是通过Power Query的M语言脚本对数据加载过程进行额外的预处理操作。微软Power BI的Power Query编辑器是一个强大的数据整理和清洗工具它通过友好的用户界面UI自动生成M语言脚本能够将不规范甚至杂乱无章的数据表整理得井井有条无须手动编写复杂代码。其核心优势在于帮助用户高效完成那些耗时且附加值较低的数据准备工作。当数据完成标准化和规范化后用户可以更专注于使用Power BI进行建模分析和数据可视化。

更多文章