powerquery - 用时间序列中的最新值替换空值
问题描述
我有这个系列(注意日期中的漏洞):
日期 | 价值 |
---|---|
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 |
请注意,第一个表中不存在带有粗体的行,并且这些值是从可用的最新值向前填充的。
要完成此操作:
- 我使用该功能创建了一个虚拟日历
List.Dates()
。 - 我将此日历与第一个获得此表的表合并:
日期 | 价值 |
---|---|
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 |
- 然后我创建了一个函数,该函数将日期作为参数过滤第一个表,并使用该函数
List.Last()
获取最后一个非空值并将其放在第三个表的行中,而不是空值。
它工作得很好,但我发现它太慢了。对于每一行,必须调用该函数来扫描表以查找可用的最新值。
有没有更快的方法来执行此操作?
解决方案
推荐阅读
- node.js - Node JS web application deployment
- css - Material-UI change TextField color when input text is too long
- c# - How to record video with device camera in Unity?
- python - 将 column1 中的所有唯一项过滤为 Key,将 Column2 和 Column3 过滤为 key:value 作为来自常规 DataFrame 的嵌套 Dataframe 中的 Value
- java - Jersey 项目 Swagger-UI 在发送 @PathParam 时不发送 @HeaderParam
- csv - 将批量数据加载到 MariaDB 并报告错误
- dart - 由于 state.didChange() 调用,在 Forms 中使用时会出现缓慢的 Cupertino 输入字段
- reactjs - 按下按钮时将状态传递给子组件为空
- webrtc - 调用 navigator.mediaDevices.getUserMedia 时没有发现错误有什么原因吗
- python - 使用 python 导入 url 库但“请求”错误