如何使用功能修改将P#添加到表中



我有一个查询,可以从表中返回一堆SYMS的数据。

dataFromTab:delete date from select from table where date=2015.01.01,any (sym like) each ("sym1";"sym2";"sym3";"sym4")
dataFromTab:`sym xasc dataFromTab;
@[`dataFromTab;`sym;`p#];

类型var是98h,Sym的排序工作正常,但是当添加P#使用功能修正时,会给我一个类型错误。

对我出错的任何输入都将不胜感激。

谢谢!

您是在函数中还是从全局名称空间中调用所有这些?

如果DataFromTab是局部变量,则应用p# to the global reference DataFromTab将不起作用。

q){data:select from tab;@[`data;`sym;`p#]}[]
'type
 [1]  {data:select from tab;@[`data;`sym;`p#]}
                         ^
q))

您将需要在本地重新选择DataFromTab才能正常工作;

q){data:select from tab;data:@[data;`sym;`p#]}[]

您也可以使用"集合"在全球上创建表,这将使您的原始语法可以正常工作。但是,您可能不想创建不必要的全球群体;

q){`data set select from tab;@[`data;`sym;`p#]}[]
`data

sym是字符串列吗?如果转换为字符串:

我会遇到错误
q)trades:update string sym from trades
q)trades:`sym xasc trades
q)@[`trades;`sym;`p#]
'type
  [0]  @[`trades;`sym;`p#]
       ^

您可以尝试将其转换为符号并查看是否有效?