根据条件过滤以前的数据 DAX

Filter Previous Data DAX on condition

假设我有以下数据集。

产品/已打开/日期 1 / 0 / 21 / 05 / 2009 1 / 1 / 22 / 05 / 2009

我怎样才能filter/delete之前的数据到第一个IsOpen = 1 ?? 通过创建一个新的 table 甚至在 Powerquery 中。 我只想要从第一个 IsOpen = 1 开始的数据。

谢谢!

在 Power Query 中从这个 table 开始:

  1. 按 "Date" 列排序。 (单击 "Date" 列右上角的向下箭头按钮,然后单击 select "Sort Ascending"。)table 基本上看起来是一样的,除了日期将在订单和向下箭头按钮将更改为:

  2. 添加索引。 (单击 "Add Column" 选项卡,然后单击 "Index Column"。)

  3. Group by "IsOpen" 并确定每个 "IsOpen" 值的最小索引值。 (点击"Transform"选项卡,然后点击"Group By"。然后在弹出的window中这样填写:

    ...然后单击 "OK"。)您将看到:

  4. 过滤掉 "IsOpen" 中的 0。 (单击 "IsOpen" 列右上角的向下箭头按钮,然后在列表中删除 select “0”。)

    你会看到这个:

  5. 删除第一个 1 之前出现的 "IsOpen" 中带 0 的行。(这里是 "trick" 的作用你想要的。我在 Ken Puls 的博客上找到了它,“The Ken Puls (Excelguru) Blog”:

    单击公式栏左侧的 "Fx" 并覆盖显示的内容:

    = Table.Skip(#"Added Index",#"Filtered Rows"[MinIndex]{0})
    

    然后按回车,你会看到这个:

    注意第一个 1 "IsOpen" 之前出现的 0 "IsOpen",它位于 "Index" 0,现在消失了。)