Kdb q查询:从表创建网格

Kdb q查询:从表创建网格,kdb,q-query,Kdb,Q Query,我编写了一个函数,它封装了一个q查询,该查询返回一个包含三列的表——c1、c2和VAL。如何创建栅格(2D数组),使c1作为x轴,c2作为y轴,并在相应的单元格中显示值。例如,如果表中的一行是c1:A c2:B值:100,我想在x轴上显示A,在y轴上显示B,在(A,B)对应的单元格中显示100 我感谢你的帮助 输入: \u c1α\u c2αvals ================- \u A阿尔法\u B阿尔法100 \u A阿尔法\u Y阿尔法110 \u X阿尔法\u Y阿尔法120 \

我编写了一个函数,它封装了一个q查询,该查询返回一个包含三列的表——c1、c2和VAL。如何创建栅格(2D数组),使c1作为x轴,c2作为y轴,并在相应的单元格中显示值。例如,如果表中的一行是c1:A c2:B值:100,我想在x轴上显示A,在y轴上显示B,在(A,B)对应的单元格中显示100

我感谢你的帮助

输入:
\u c1
α
\u c2
αvals
================-
\u A
阿尔法
\u B
阿尔法100
\u A
阿尔法
\u Y
阿尔法110
\u X
阿尔法
\u Y
阿尔法120
\u X
阿尔法
\u T
阿尔法220

输出:

================-
\u A
阿尔法100阿尔法110阿尔法000阿尔法
\ux
千法120法220法


抱歉格式错误,我不知道如何创建正确的表。

您可以尝试旋转结果表:

q)tt:flip`c1`c2`vals!(`a`a`x`x;`b`y`y`t;100 200 300 400)
q)tt
c1 c2 vals
----------
a  b  100
a  y  200
x  y  300
x  t  400
q)0^exec (distinct tt`c2)#c2!vals by c1:c1 from tt
c1| b   y   t
--| -----------
a | 100 200 0
x | 0   300 400
您可以查看以了解更多信息