以kdb +为单位的微秒条数据汇总

use*_*903 5 database timestamp time-series aggregation kdb

如何使用xbar函数以10微秒的条形汇总表中的行。该表由列的timestampval。对于以毫秒为单位的聚合,我已经知道我可以简单地timestamp.datetime在xbar查询中使用。

可能的结果表应如下所示:

timestamp                 | val
--------------------------| ---
2015.12.02D12:19:44.434430| 2
2015.12.02D12:19:44.434440| 8
2015.12.02D12:19:44.434450| 5
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

小智 3

以下应该有效:

d:([]t:asc .z.P+100*10?100;v:10?10)
select avg v by (10*1000) xbar t from d
Run Code Online (Sandbox Code Playgroud)

请注意,输出时间列仍然是“时间戳”(“p”)类型,但值以微秒为单位。

为了清楚起见,我将第一个 xbar 参数写为 (10*1000)。要更改为 5 微秒,您可以执行 (5*1000) 等。

  • 在 `xbar` 的 LHS 上使用 `timespan` 可能会更方便 - 例如:`select avg v by 0D00:00:00.01 xbar t from d` - 这将为您提供 10ms 的桶。 (4认同)