用each桌子上,我期待each在一排表的形式在时间上一行进行操作.但是,它首先被转换为字典:
q) t:flip `a`b!(enlist 1;enlist 2);
q) {type x} each t
enlist 99h / dictionary
Run Code Online (Sandbox Code Playgroud)
因此,显而易见的事情就是使用flip将字典变成表格:
q) {type flip x} each t
An error occurred during execution of the query.
The server sent the response:
rank
Studio Hint: Possibly this error refers to invalid rank or valence
Run Code Online (Sandbox Code Playgroud)
嗯 - 那太奇怪了.不能flip字典?出了什么问题?
刚刚开始使用KDB +,有一些难以从Q for Mortals获得的问题.
说,这里 http://code.kx.com/wiki/JB:QforMortals2/casting_and_enumerations
Cast在左操作数中也是原子的.
5 6 7h$42
结果:
42h
42
42j
Run Code Online (Sandbox Code Playgroud)
我无法得到我们在这里做的事情:看起来我们投了5 6 7到42,但是什么是42?它代表一种类型吗?
我想在纽约时间下午5点运行.u.end.
正在考虑的替代方案:
我无法找到如何在非午夜时间运行.
需要考虑的含义是什么?
有没有人有这样的经验,他们想分享?
为了存储按kdb + TSDB中的标签分组的基于时间的数据,我创建了一个包含列的表timestamp,val和tags.标签是键值对,因此我使用字典在列中存储此类信息tags.
查询创建表:
myTable:([]timestamp:-12h$();val:-9h$();tags:());
Run Code Online (Sandbox Code Playgroud)
查询插入一些示例数据:
`myTable insert ("P"$"2015-11-30 13:10:45.126381"; 521.45117; `house`room!215 111)
Run Code Online (Sandbox Code Playgroud)
如何获得房屋215的所有数据/行?我尝试了以下查询但没有成功(类型错误):
select from myTable where tags[`house]=215
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
你如何找到KDB中2个日期时间之间的时差(以分钟为单位)?
例:
(2015.08.26+02:00)-(2015.08.25+00:00)
Run Code Online (Sandbox Code Playgroud)
应该给1560分钟或26小时.
谢谢!
如何在kdb中有条件求和,类似于以下sql查询
Select sum(qty > 0, qty, 0) as buy, sum(qty < 0, qty, 0) as sell from trades
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来做到这一点,没有任何where子句.
您好我正在运行kdb并通常使用浏览器通过在端口上运行kdb来基本查看表:\ p xxx 我的问题是如何增加浏览器中的可见行?目前我相信有一些固定数量的行是可见的.我希望能够查看更多或更少的行.有设置还是命令?
我有一个函数声明:
func:{[id;time] select last synp from synp_t where instr_id = id, tp_time < time}
Run Code Online (Sandbox Code Playgroud)
哪里instr_id有类型i和tp_time类型v.
例如,func[8;05:00:11]工作正常,给我价值17.55.
但是,如果我尝试func[8 1;05:00:11 07:10:59],我得到:
'length ERROR: incompatible lengths (different lengths of operands for synchronized operation or table columns lengths are not the same
Run Code Online (Sandbox Code Playgroud)
我想得到的是,例如,17.55 9.66.
如果我这样做select res:func_demo[id;time]from tab,也会弹出相同的错误,其中tab有两列instr_id和的表tp_time.
我想enlist可以解决问题,但我不确切知道如何使用它.我该如何解决这个问题?
k1:([a:("ff"; "yy"; "zz");z:("tt"; "yy"; "hh")] b:("33"; "44"; "55"); c:("66"; "77"; "88"))
k2:([z:()] a:(); b:(); c:(); m:(); i:())
Run Code Online (Sandbox Code Playgroud)
k1并且k2是键控表.k2拥有所有列k1和更多.
如何从执行条件UPSERT k1来k2.基本上,下面的相应工作说明是什么:
`k2 upsert select k1 where a="ff"
Run Code Online (Sandbox Code Playgroud) 如何从字符串中删除空格和下划线?
Input String:
s:"Monday comes_after Sunday";
Expected Output:
"MondaycomesafterSunday"
Run Code Online (Sandbox Code Playgroud)