在Power BI中删除重复数据 - 数据查询篇(Power Query)

常见的数据处理有一种需求是以某几个特定列内容为基准删除掉列中的重复数据。例如下面一个张销售表单中,如果以Date列和Product列为基准,能发现4月1日Product A产品有重复记录。
这里写图片描述
如果想去掉重复记录,可以在查询编辑器中,同时选择Date列和Product列,然后右键选择Remove Duplicates选项。Power BI去重后运行结束后,能发现最后一条Sale = 400的记录被删除了,只保留了最开始一行的Sale = 100的记录。这是由于Power BI后台调用M语言去重时按照原始数据的导入顺序进行,会保留序号在前的数据而删除序号在后的数据。
这里写图片描述

如果想保留Sale = 400这一行数据而删除Sale = 100这条数据是否可以利用通过对原始数据重新排序来实现呢?可以试验一下,将数据按照Date列做升序排序,再选择sale列做降序排序去获得一张新表,使得4月1日这天Product A产品Sale = 400这条数据排在Sale = 100之前。 然后选择Date和Product列去删除duplicated数据。运行结束后发现结果与不排序相同,M语言仍然删除了Sale = 400这条数据。
这里写图片描述
之所以出现这样的结果是因为M语言中的排序操作比较特殊,当前排序结果不会作为下一步脚本执行的原数据。也就是说,虽然调用了M中的Sort方法对数据进行排序,但实际上Remove duplicated动作使用的还是Sort上一步未排序的数据。

要解决该问题,需要调用Table.Buffer函数将Sort的结果强行缓存到table当中,以便作为Remove Duplicated操作的数据源。
M Code如下:

let
    Source = Excel.Workbook(File.Contents("C:\Users\jessica\Desktop\Book1.xlsx"), null, true),
    Duplicate_Sheet = Source{[Item="Duplicate",Kind="Sheet"]}[Data],
    #"Promoted Headers" = Table.PromoteHeaders(Duplicate_Sheet, [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Date", type date}, {"Sale", Int64.Type}, {"Product", type text}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type",{{"Date", Order.Ascending}, {"Sale", Order.Descending}}),
    #"Buffer Tabe" = Table.Buffer(#"Sorted Rows"),
    #"Removed Duplicates" = Table.Distinct(#"Buffer Tabe",{"Date", "Product"})
in
    #"Removed Duplicates"

这里写图片描述

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Power BI 是一款强大的商业智能工具,可以用于数据分析和可视化。在 Power BI ,Shapes 是一种用于添加自定义图形或图标的功能。它可以帮助我们更直观地展示数据,并提供一种独特的可视化方式。 在 Power BI ,Shapes 可以链接到具体的数据。首先,我们需要导入数据源,可以是 Excel、SQL 数据库或其他数据源。然后,我们可以使用 Power QueryPower Pivot 进行数据转换和处理,以便与图形相关的数据可以正确地链接起来。 一旦数据准备就绪,我们可以通过以下步骤将 Shapes 与数据链接起来: 1. 选择需要链接数据的 Shape:在 Power BI ,我们可以执行插入 Shapes 的操作。在 Shapes 分栏,选择需要链接数据的图形或图标。 2. 关联数据:通过选所添加的 Shape,可以在菜单栏上看到“格式”选项。在格式选项,我们可以在“数据”部分设置链接的方法。 3. 选择链接的数据:在链接数据设置,我们可以选择要链接的数据表或数据集。可以根据需要从已导入的数据选择适当的数据。 4. 指定链接字段:一旦选择了要链接的数据,我们需要指定用于链接的字段。这将确保 Shape 的展示与数据相对应。 5. 完成链接:完成以上步骤后,我们的图形或图标将与数据链接完成。这意味着当数据更新时,Shapes 也将以相应的方式更新。 通过这种链接数据的方式,我们可以在 Power BI 更有效地展示数据,并将其与自定义图形或图标相结合,使数据可视化更加生动、直观和易于理解。同时,我们还可以利用 Power BI 的其他功能,如过滤器、交互式报表等,进一步提升数据分析的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值