由于wavg函数,在kdb中计算加权平均值很容易.如何计算两个连续行时间之间的延迟并将这些值用作wavg的权重参数?
就像是:
`date`ts xasc select date,ts,mytw:(next ts - ts) wavg mycolumnval from pmd where date=2013.05.22
next在查询中给出了以下行列,但我无法计算如何减去两个ts值并在wavg中使用它们.
UPDATE
解决方案是使用括号:((下一个ts) – ts).请注意,我不能使用deltas [ts].这会产生不同的权重:
08:15:19.811 00:00:00.000
08:15:19.811 00:00:00.001
08:15:19.812 00:00:00.014
08:15:19.826 00:00:07.305
08:15:27.131 NULL
这是deltas [ts]:
08:15:19.811 08:15:19.811
08:15:19.811 00:00:00.000
08:15:19.812 00:00:00.001
08:15:19.826 00:00:00.014
08:15:27.131 00:00:07.305
最佳答案 怎么样:
`date`ts xasc select date,ts,mytw:deltas[ts] wavg mycolumnval from pmd where date=2013.05.22