首页 文章

使用查询编辑器Power BI中的条件删除基于多列的重复值

提问于
浏览
3

我是新手,我需要你的帮助来解决我面临的问题 .

基本上我考虑三个栏目如下:

enter image description here

Question: 我想根据条件删除上表中的重复值" Equal value for "时间" ," ID " and Absolute difference in "花费的时间" is lower or equal than 1"正如您在图片中看到的那样,突出显示的行属于此类别 .

我想根据条件将以下行删除 .

enter image description here

问题:我想根据条件删除上表中的重复值“等于”时间“,”ID“和”花费的时间“中的绝对差值小于或等于1”,如您在图像中看到的那样突出显示属于这一类 .

我想根据条件将以下行删除 .

enter image description here

我能够通过使用公式 =IF(AND(A3=A2,B3=B2,ABS(F3-F2)<1),"problem",0) 的第四列然后过滤掉标记为probelm的行来在excel中执行此操作 . 请帮忙!!

问候

马希

2 回答

  • 1

    我打赌来自@Alexis Olson的建议工作得很好,但既然你特意提到了 Query Editor ,那我就是这样做的:


    • 如下所示加载您的数据,并接受在 Changed Type 下所做的更改:

    enter image description here

    不要担心 Query Settings 下的其他步骤 . 我们最终会达到目标 .

    • 选择 Add Column 并单击 Index Column ,以便获得:

    enter image description here

    • 选择 Add Column ,单击 Custom Column 并在出现的对话框 Table.AddColumn(#"Added Index", "Custom", each #"Added Index"[Time Spent]{[Index]}-#"Added Index"[Time Spent]{[Index]-1}) 中插入此小公式:

    enter image description here

    • 点击 OK ,确保您收到此信息:

    enter image description here

    • 我觉得这一步有点奇怪,但是你在列中有一个表':'2952754_

    enter image description here

    • 您将在第一行收到错误消息,但您可以通过右键单击该列并单击 Remove Errors 来删除它:

    enter image description here

    • 现在您可以单击自定义列中的下拉菜单,选择数字过滤器和 Does Not Equal

    enter image description here

    • 并插入0,或从对话框的下拉菜单中选择0:

    enter image description here

    • 就是这样,您现在应该过滤掉您所需的数字:

    enter image description here

    但请注意,由于索引的第一步导致丢失第一个值,因此此过程需要付出代价 . 如果其余部分是您可以使用的,我可以看看我们是否可以修复最后一小部分 .

  • 0

    您可以通过在"duplicate"值列表上取最大值或最小值来从每个唯一行集中选择代表 [Time Spent] 值 . 这里's the formula for such a custom column, which I' ll调用 [Min Time]

    = List.Min(
          Table.SelectRows(#"Previous Step",
              (C) => (C[Time] = [Time] and
                      C[ID] = [ID] and
                      Number.Abs(C[Time Spent] - [Time Spent]) < 1)
          )[Time Spent])
    

    拥有此自定义列后,您可以按 [Time][ID][Min Time] 进行分组以汇总重复项,然后将 [Min Time] 列重命名为 [Time Spent] .

相关问题