可以使用ffill实现前值填充,如下
date=2022.01.01+1..50 factor=1..50*1.0 code =take(`A`B,50) select date,code,factor,ffill(iif(0..(size(date)-1) in (5*(0..(size(date)/5))),factor,NULL)) from table(date,code,factor) context by code
date code factor ffill
---------- ---- ------ -----
2022.01.02 A 1 1
2022.01.04 A 3 1
2022.01.06 A 5 1
2022.01.08 A 7 1
2022.01.10 A 9 1
2022.01.12 A 11 11
2022.01.14 A 13 11
2022.01.16 A 15 11
2022.01.18 A 17 11
2022.01.20 A 19 11
2022.01.22 A 21 21
2022.01.24 A 23 21
2022.01.26 A 25 21
2022.01.28 A 27 21
2022.01.30 A 29 21
2022.02.01 A 31 31
2022.02.03 A 33 31
2022.02.05 A 35 31
2022.02.07 A 37 31
2022.02.09 A 39 31
2022.02.11 A 41 41
2022.02.13 A 43 41
2022.02.15 A 45 41
2022.02.17 A 47 41
2022.02.19 A 49 41
2022.01.03 B 2 2
2022.01.05 B 4 2
2022.01.07 B 6 2
2022.01.09 B 8 2
2022.01.11 B 10 2