课程: 学习数据分析:1. 基础知识

查找和删除重复数据

课程: 学习数据分析:1. 基础知识

查找和删除重复数据

在信任一个数据集之前, 我们都需要对它进行检查, 因为数据集, 通常受制于数据集提供者的技能水平。 如果他们没有正确地关联数据, 或者是没有完全理解需求, 那么,就可能会出问题。 所以,在处理数据的时候 我总是先进行一些检查。 我发现, 大多数人在创建计算公式的时候容易出错。 在这个练习文件中, 我们有一列叫“订单总计”。 我们想确认它是否包含了所有的商品。 我们需要先检查一下这里的查询。 我们打开“数据”选项卡, 然后点击“查询和连接”按钮。 在“查询和连接”窗格中, 我们使用鼠标右键, 点击这里的“表1”查询, 然后选择“编辑”。 接下来, 在 Power Query 编辑器中, 我们要检查字段。 我们看到, 这里有单价、订购数量、折扣金额、税额, 还有销售金额等字段。 我可以很简单地使用 M 语言代码 来快速添加一个列。 我们打开“添加列”选项卡, 点击“自定义列”按钮。 这个列我们起名为“测试计算”, 然后,我们要在“可用列”中 选择字段进行计算。 我们让“单价”乘以“订购数量”, 然后,减去“折扣金额”, 再加上“税额”, 这样得到的数据,应该和销售额相等。 在确认了对话框下方 没有检测到语法错误以后, 我们点击“确定”按钮。 这个时候,我马上就发现了问题。 第一行的销售金额显示的是 7.95, 但是,测试计算得到的是 8.586。 我们先把测试计算列转换成货币格式。 如果把销售金额 7.95 和税额 0.64 相加, 我们就会得到 8.59 , 和测试计算的结果一样。 但问题是,后面的“订单总计” 78.76 是怎么来的呢? 我们需要更加仔细地去研究这里的数据。 我们回到主页,点击“关闭并上载”按钮。 这种分析过程在讨论数据分析时经常会忽略。 我可以清楚地看到我的数据存在问题, 我们需要找到问题所在。 我们找到“销售金额”列。 销售金额意味着它是一种汇总, 但是,它和我们的“测试计算”结果, 和“订单总计”金额对不上。 因此,我们需要更加深入地研究数据。 我们需要查看一下, 它们在订单数据工作表中的原始数据。 现在,我们打开了订单数据工作表, 这里是原始数据。 这个时候,我注意到, 这里有一个“销售订单行编号”字段。 这就很有意思了, 因为我们还有一个“销售订单编号”字段。 除非我们特意地去查看它, 否则,我们很难发现里面的数据是否重复。 接下来,我要使用条件格式 来发现销售订单编号里面的重复项。 我们现在已经选中了这一列, 接下来,我们切换到“开始”选项卡, 打开“条件格式”下拉列表, 然后选择“突出显示单元格规则”, 选择“重复值”, 我们立刻就看到 这里有很多重复的销售订单号, 因为它们被标记成了红色。 可以明显看到, 第 6、7 行的销售订单号是重复的。 有的时候,这些重复项真的很难发现。 我们点击“取消”按钮, 因为我们不需要这个条件格式。 然后,我们回到“干净数据”工作表。 我们打开“数据”选项卡, 点击“查询和连接”按钮, 然后,我们再次编辑查询中的表 1。 通过刚才的检查,我们可以发现, 实际上,这里是销售订单中的单个行项目, 因此,我要把这个查询 改名为“销售订单行”。 我们可以直接在查询设置中 去修改它的属性名称, 把它改为“销售订单行”。 接下来,我们需要创建 单独的销售订单数据集。 打开“查询”窗格, 然后,我们右键点击查询的名称, 选择右键菜单中的第二个复制选项, 这样,在新的查询中就得到了 和之前完全相同的步骤。 我们现在打开了这个查询。 可以看到,里面有完全相同的步骤, 并且,它和之前的销售订单行查询完全独立。 如果我在销售订单行查询中进行修改, 它不会影响到这里的数据集。 我们把这个查询改名为“销售订单”。 接下来,我们就可以开始删除重复项了。 在此之前, 首先,我们需要删除销售订单中的行信息。 我们只需要保留整个订单相关的信息。 我们点击“选择列”按钮, 我们可以保留 “客户ID”、“名字”、 “姓氏”、“城市州邮编”。 但是,“产品ID”是订单行项目, 我们可以取消勾选。 “销售订单编号”很重要,需要保留, “订购日期”、“发货日期”也需要保留。 “销售订单行编号” 是为订单中每个单独的产品进行设置的, 所以我们取消勾选。 “单价”、“订购数量”、 “折扣金额”、“税额”和“销售金额”, 都是基于单独的行, 我们也不需要选中它们。 我们也不再需要测试计算列。 这样,我们保留的, 就只是整个订单相关的信息。 再检查一下,没有问题。 我们点击“确定”。 接下来,我们选中“销售订单编号”列, 点击右键, 我们可以删除重复项了。 我们选择“删除重复项”, 然后点击“关闭并上载”按钮。 可以看到,我们有 60,351 行销售订单行记录 和 27,639 行销售订单记录。 现在我要把“干净数据”工作表 改名为“销售订单行”, 和我们的查询名称一样。 这样,当你打开工作表的时候, 就知道里面的数据集是和哪个查询关联。 我们有很多方法来去除数据集中的重复项。 在这里,我们了解了 使用 Power Query 工具的方式, 因为它保存了操作步骤, 所以在我们更新了数据以后, 还可以重用这些步骤来自动地完成操作。 需要注意的是, 如果你在开始处理数据之前, 就已经手动清除了重复项, 那么,人为的错误可能会降低数据质量。 采用自动化的方式去去除重复项的方法 更有可能会让我们得到高质量的数据集。

内容