3

我是 power bi 的新手,需要您的帮助来解决我面临的以下问题。

基本上,我考虑了以下三列:

在此处输入图像描述

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

我想根据条件删除以下这些行。

在此处输入图像描述

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

我想根据条件删除以下这些行。

在此处输入图像描述

我可以在 excel 中执行此操作,方法是使用公式创建第四列,=IF(AND(A3=A2,B3=B2,ABS(F3-F2)<1),"problem",0)然后过滤掉标记为问题的行。请帮忙!!

问候

鲯鳅

4

2 回答 2

2

我敢打赌@Alexis Olson 的建议效果很好,但是由于您特别提到了Query Editor,我将在此处执行以下操作:


  1. 像下面这样加载您的数据,然后接受在下面所做的更改Changed Type

在此处输入图像描述

不用担心Query Settings. 我们最终会做到这一点。

  1. 选择Add Column并单击Index Column,这样你就得到了:

在此处输入图像描述

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

在此处输入图像描述

  1. 单击OK,并确保您得到以下信息:

在此处输入图像描述

  1. 我认为这一步有点奇怪,但你必须点击列中的“表格”:

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

  1. 就是这样,您需要的数字现在应该被过滤掉:

在此处输入图像描述

但是请注意,此过程是有代价的,因为由于索引的第一步,您会丢失第一个值。如果其余部分您可以使用,我可以看看我们是否也可以修复最后一个小部分。

于 2018-08-14T12:41:30.873 回答
1

您可以[Time Spent]通过对“重复”值列表取最大值或最小值,从每组唯一的行中选择一个代表值。这是此类自定义列的公式,我将其称为[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]

于 2018-08-13T16:48:13.080 回答