首页 > 解决方案 > 用时间序列中的最新值替换空值

问题描述

我有这个系列(注意日期中的漏洞):

日期 价值
2019-12-31 100
2020-01-02 110
2020-01-05 120
2020-01-07 125
2020-01-08 130

我需要得到这个:

日期 价值
2019-12-31 100
2020-01-01 100
2020-01-02 110
2020-01-03 110
2020-01-04 110
2020-01-05 120
2020-01-06 120
2020-01-07 125
2020-01-08 130

请注意,第一个表中不存在带有粗体的行,并且这些值是从可用的最新值向前填充的。

要完成此操作:

  1. 我使用该功能创建了一个虚拟日历List.Dates()
  2. 我将此日历与第一个获得此表的表合并:
日期 价值
2019-12-31 100
2020-01-01 无效的
2020-01-02 110
2020-01-03 无效的
2020-01-04 无效的
2020-01-05 120
2020-01-06 无效的
2020-01-07 125
2020-01-08 130
  1. 然后我创建了一个函数,该函数将日期作为参数过滤第一个表,并使用该函数List.Last()获取最后一个非空值并将其放在第三个表的行中,而不是空值。

它工作得很好,但我发现它太慢了。对于每一行,必须调用该函数来扫描表以查找可用的最新值。

有没有更快的方法来执行此操作?

标签: powerquery

解决方案


推荐阅读