q lang - (kdb+/q) append to dictionary -
i trying programmatically construct arguments functional select call having form:
?[ `t; () ; groupby; ()]
the problematic part groupby
, should dictionary.
suppose objective arrive @ parse tree in form:
parse "select sym,month:`date$dt.month t"
i start constructing by
part with:
groupby: enlist[`sym]!enlist(`sym)
then try append month
part of group statement (note periodicity parameterised):
per: `month / monthly periodicity groupby,: {enlist[x]!enlist[ $[x = `day; `dt; $[x=`month; ((parse "select month:`date$dt.month x")@3)@`month ;` sv (`dt,x)] ]] }[per]
however, throws type
error. goes wrong?
i think doesn't compound assignment
groupby,:{...}
try
groupby:groupby,{...}
the difference in first case it's trying directly alter data in memory without creating copy, whereas in second case creating copy of data in memory , re-assigning variable. perhaps compound assignment works when types uniform
Comments
Post a Comment