如何将 returns table 的函数应用于列表? (Q+KDB)

How to apply function that returns table to a list? (Q+KDB)

我有一个函数 {[x]} returns 一个 table 时间序列值。我想将此应用于不同的键 `a`b`c 但无法使用 {[x]}/`a`b`c

我希望结果 table 包含每个单独查询的内容。我该怎么做呢? FWIW,我必须在 Q 中执行此操作 - 无法为 python 等

安装 q

让你的功能成为

q)f:{([]t:00:01 00:02;x)}
q)f `a
t     x
-------
00:01 a
00:02 a

您可以将其应用于列表并将结果展平为如下所示

q)raze f each `a`b
t     x
-------
00:01 a
00:02 a
00:01 b
00:02 b