q kdb填充缺少的fxrates

q kdb填充缺少的fxrates,kdb,q-lang,Kdb,Q Lang,我有一个kdb表格,有3列:日期、货币、汇率。缺少一些外汇,我想用前一天的值替换空外汇,显然是同一种货币。我不能使用填充,因为它可能会混合货币。我试着用groupby的变体填充,但不起作用。你知道怎么做吗?这是我不正确的疑问: 这是原始表格(组成数据): 您可以使用: 非常接近-您只需添加“by”: update fills fx from (`ccy`date xasc t) date ccy fx 2017.08.01 AUS 0.57 2017.08.01 CAN 0.61 2

我有一个kdb表格,有3列:日期、货币、汇率。缺少一些外汇,我想用前一天的值替换空外汇,显然是同一种货币。我不能使用填充,因为它可能会混合货币。我试着用groupby的变体填充,但不起作用。你知道怎么做吗?这是我不正确的疑问:

这是原始表格(组成数据):

您可以使用:


非常接近-您只需添加“by”:

update fills fx from (`ccy`date xasc t)
date    ccy fx
2017.08.01  AUS 0.57
2017.08.01  CAN 0.61
2017.08.01  EUR 0.91
2017.08.01  USD 0n
2017.08.02  AUS 0n
2017.08.02  CAN 0.62
2017.08.02  EUR 0n
2017.08.02  USD 0n
2017.08.03  AUS 0n
2017.08.03  CAN 0n
2017.08.03  EUR 0n
2017.08.03  USD 0n
2017.08.04  AUS 0.57
2017.08.04  CAN 0.62
2017.08.04  EUR 0.91
2017.08.04  USD 0.78
2017.08.05  AUS 0.59
2017.08.05  CAN 0.61
2017.08.05  EUR 0.92
2017.08.05  USD 0.79
2017.08.06  AUS 0.58
2017.08.06  CAN 0.62
2017.08.06  EUR 0.91
2017.08.06  USD 0.77
update fills fx by ccy from t
t:([]date:raze 3#enlist .z.d+til 100;ccy:300#`EUR`CAN`AUS;fx:300?(1.0 0.2 0.4 0n))

    10#t
    date       ccy fx 
    ------------------
    2017.08.16 EUR 1  
    2017.08.17 CAN 0.4
    2017.08.18 AUS    
    2017.08.19 EUR 0.4
    2017.08.20 CAN 0.2
    2017.08.21 AUS 1  
    2017.08.22 EUR 1  
    2017.08.23 CAN    
    2017.08.24 AUS 1  
    2017.08.25 EUR 1  

    10# update fills fx by ccy from t 
    date       ccy fx 
    ------------------
    2017.08.16 EUR 1  
    2017.08.17 CAN 0.4
    2017.08.18 AUS    
    2017.08.19 EUR 0.4
    2017.08.20 CAN 0.2
    2017.08.21 AUS 1  
    2017.08.22 EUR 1  
    2017.08.23 CAN 0.2
    2017.08.24 AUS 1  
    2017.08.25 EUR 1