代码之家  ›  专栏  ›  技术社区  ›  Matt Cottrill

PowerQuery条件最大值

  •  0
  • Matt Cottrill  · 技术社区  · 8 年前

    我正在尝试对该表使用Power Query: enter image description here

    我的目标是在第3列“GRPEFFDTE”中找到每个第1列和第2列的最大值。如果这是普通的excel,我会使用:

    =+IF(MAXIFS(C:C,B:B,B5,A:A,A5)=C5,1,0)
    

    要使其类似于此处的ISMAX列: enter image description here

    我想我需要对table.max使用if语句,但是我不熟悉Power查询。如果有比我上面描述的更好的方法,可以是计算字段或power查询中的列,请给出建议!

    我会随着滚动而更新,我真的不知道从哪里开始。

    编辑1:下面的评论让我开始了,但正如我的评论所指出的,我需要得到与我的其他3列相对应的GRPEFFPRC,我不知道该怎么做。

    编辑2:完整解释见接受答案评论。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Alejandro Lopez-Lago - MSFT    8 年前

    如果你只想要最大值,那么你可以用一个组来做。Group By是一种操作,它基于共享列值将行分组在一起,然后对该组行执行操作(如count、min、max等)如果要在Power Query中执行此操作,可以执行以下操作:

    1. 在Power查询编辑器的主功能区中单击“分组方式”。
    2. 点击“高级”
    3. 点击“添加分组”。这两个下拉列表应该是前两列的名称。
    4. 对于操作,请选择“Max”,对于列,请选择第三列的名称您可以为新列名选择任何所需的名称(我们称之为MaxColumn)。

    结果应该是一个表,其中MaxColumn是前两列中每对值的第三列的最大值。

    相关功率查询公式:

    = Table.Group(TableStep, {"Column1", "Column2"}, {{"MaxColumn", each List.Max([Column3]), type number}})

    推荐文章