在 power query 中,我想创建一个自定义列,该列仅在以下情况下返回日期:
- B 列等于“背书”或“取消”
- 取该行的帐号,将其与同一帐号的前一个但最新的记录行进行匹配,其中 b 列等于“新建”或“续订”并且仅当 R 列不为负数或在 S 列中不包含某些文本“abc”(根据交易,同一帐户有多行)
- 返回自定义列中该行的日期
我很难想出一个合理的解决方案来解决这个问题
答案1
这听起来相当复杂但在 PQ 中肯定是可能的。
我对此要求的方法是构建一个合并查询,返回符合您的条件的行集:b 列等于“新”...
一个关键组件是主查询中的嵌套运行计数(在帐号组内)。在合并查询中,我会从该运行计数中减去 1,以满足要求与前一条最新记录匹配。
有几种解决方案可以实现 PQ 中的累计总数或计数,这是我目前最喜欢的: https://exceloffthegrid.com/power-query-running-total/
最后的步骤是在主查询中添加一个合并步骤(到要合并的新查询,按帐号 + 运行计数),然后添加一个扩展步骤以从要合并的查询中返回日期。