Power Query - 通过匹配两列创建返回另一行的最新值的自定义列

Power Query - 通过匹配两列创建返回另一行的最新值的自定义列

在 power query 中,我想创建一个自定义列,该列仅在以下情况下返回日期:

  • B 列等于“背书”或“取消”
  • 取该行的帐号,将其与同一帐号的前一个但最新的记录行进行匹配,其中 b 列等于“新建”或“续订”并且仅当 R 列不为负数或在 S 列中不包含某些文本“abc”(根据交易,同一帐户有多行)
  • 返回自定义列中该行的日期

我很难想出一个合理的解决方案来解决这个问题

答案1

这听起来相当复杂但在 PQ 中肯定是可能的。

我对此要求的方法是构建一个合并查询,返回符合您的条件的行集:b 列等于“新”...

一个关键组件是主查询中的嵌套运行计数(在帐号组内)。在合并查询中,我会从该运行计数中减去 1,以满足要求与前一条最新记录匹配

有几种解决方案可以实现 PQ 中的累计总数或计数,这是我目前最喜欢的: https://exceloffthegrid.com/power-query-running-total/

最后的步骤是在主查询中添加一个合并步骤(到要合并的新查询,按帐号 + 运行计数),然后添加一个扩展步骤以从要合并的查询中返回日期。

相关内容