有没有一种快速的方法可以在单个查询中内连接符号?
Is there a quick way to inner join symbols in a single query?
目前,假设我有一个包含 sym-date
行的数据库。
如果我想提取两个系列并按日期对齐它们,我目前必须执行两个查询然后加入它们:
pair: {[x;y]
aa: select date, a: target1 from z where sym = x;
bb: select date, b: target1 from z where sym = y;
1!aa ij 1!bb
}
corr[`AAPL;`MSFT]
在 KDB 中有更优雅的方法吗?
看起来您本质上是想旋转数据? https://code.kx.com/q/kb/pivoting-tables/
q)t:([]date:2021.01.01 2021.01.01 2021.01.01;sym:`AAPL`MSFT`TSLA;target1:1.1 2.2 3.3)
q)P:`AAPL`MSFT
q)exec P#(sym!target1) by date:date from t
date | AAPL MSFT
----------| ---------
2021.01.01| 1.1 2.2
目前,假设我有一个包含 sym-date
行的数据库。
如果我想提取两个系列并按日期对齐它们,我目前必须执行两个查询然后加入它们:
pair: {[x;y]
aa: select date, a: target1 from z where sym = x;
bb: select date, b: target1 from z where sym = y;
1!aa ij 1!bb
}
corr[`AAPL;`MSFT]
在 KDB 中有更优雅的方法吗?
看起来您本质上是想旋转数据? https://code.kx.com/q/kb/pivoting-tables/
q)t:([]date:2021.01.01 2021.01.01 2021.01.01;sym:`AAPL`MSFT`TSLA;target1:1.1 2.2 3.3)
q)P:`AAPL`MSFT
q)exec P#(sym!target1) by date:date from t
date | AAPL MSFT
----------| ---------
2021.01.01| 1.1 2.2