4

wavg 関数のおかげで、kdb では加重平均を簡単に計算できます。2 つの連続する行時間の間の遅延を計算し、それらの値を重み付けパラメーターとして使用して wavg するにはどうすればよいですか?

何かのようなもの:

`date`ts xasc select date,ts,mytw:(next ts - ts) wavg mycolumnval from pmd where date=2013.05.22

nextクエリで次の行の列が得られますが、2 つの ts 値を減算して で使用する方法がわかりませんwavg

更新 解決策は、括弧を使用することでした: ((next 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
4

3 に答える 3

1

どうですか:

`date`ts xasc select date,ts,mytw:deltas[ts] wavg mycolumnval from pmd where date=2013.05.22
于 2013-05-22T19:47:48.583 に答える
1

「次の ts」の前後に必要な括弧:

`date`ts xasc select date,ts,mytw:((next ts) - ts) wavg mycolumnval from pmd where date=2013.05.22
于 2013-05-23T14:43:26.013 に答える
0

datets xasc select date,ts,mytw: (1 _ deltas ts, 0Nv) wavg mycolumnval from pmd where date=2013.05.22 . ts が datetime の場合は 0Np を使用します

于 2013-05-23T06:19:51.457 に答える