我正在使用 AngularJS 开发一个网络应用程序,但我对此非常缺乏经验。
我的目标是让用户在文本字段中键入一些参数,然后使用该参数作为 GET 请求中的参数之一发送 GET 请求(使用 Angular 中的 $http 服务)。
请求的目标是 KDB+ 进程(来自 KX Systems 的专有列导向数据库/语言)。此过程可以采用以下形式的请求:
http://servername:1234/?queryToRunHere[paramFromApp]
Run Code Online (Sandbox Code Playgroud)
此调用应返回一个 JSON 字符串。由于网络服务器和此进程在不同端口上运行,我收到“Access-Control-Allow-Origin”错误,该错误阻止我将此查询运行到其他端口。我试图使用 $http.jsonp 命令(因为我读到它允许远程获取)但是这要求我提供一个“&callback”参数。这是不可能的,因为 KDB+ 将解释“?”右侧的所有内容。作为内部查询。
我不确定如何继续,但到目前为止,这些是我的想法:
KDB+ 为 Java 提供了一个 API(但就我所知的 JavaScript 而言不是这样)。也许我可以用 Java 编写某种 Web 服务,然后可以通过 angular 调用它,然后使用其原生 API 调用 KDB+。问题在于它创建了另一个要维护的程序,而且我不确定如何编写这样的服务(什么技术、框架等)。
在 Angular 中有另一种我不知道的方法,或者有一种方法不必在 $http.jsonp 中指定回调参数。
我将不胜感激任何帮助。
我使用 \l 命令加载(映射)了一个分区数据库。如何取消映射数据库?出于多种原因,这可能很有用,例如加载具有相同名称的不同数据库或释放一些系统内存。
我有一个带有列的表a, b, c。cor[a;a]我可以使用函数形式以某种方式计算, cor[a;b],的相关矩阵吗cor[a;c]?
?[table; (); 0b; (`aa`ab`ac)!((cor; `a; `a); (cor; `a; `b);(cor; `a; `b));
Run Code Online (Sandbox Code Playgroud)
如何生成最后一个参数的列表?(cor; a;b)
不知何故,我只能找到显示如何添加一列的示例。
所以我编写了这段代码,它可以工作,但我知道有一种更好的方法可以做到这一点:表 t 已经存在,其中列填充了数据,我需要添加最初为空的新列。
t: update column1:` from t;
t: update column2:` from t;
t: update column3:` from t;
t: update column4:` from t;
Run Code Online (Sandbox Code Playgroud)
我尝试将其设为一个函数:
colNames:`column1`column2`column3`column4;
t:{update x:` from t}each colNamesList;
Run Code Online (Sandbox Code Playgroud)
但这只添加了一列并将其称为x。
任何改进此代码的建议将不胜感激。我必须添加的不仅仅是 4 列,因此我的代码很长。谢谢你!
我有一个包含随机数据的 csv 文件,我可以将其导入表中,但是在导入 csv 时是否可以为该表创建列
我试过这个,但它似乎不起作用它得到一个类型错误:
details:`time`place`cost`total`address ("TSFIS";",") 0:`data.csv
Run Code Online (Sandbox Code Playgroud) 这是我构建线性回归的方法,但是当我包含两列以上时,我的代码不起作用.
// Load relevant columns into memory
//
t:?[`data;enlist(=;`date;dat);0b;(ind,dep)!ind,dep];
X:9h$enlist[count[t]#1],t ind;
beta:inv[X mmu flip X] mmu X mmu 9h$t dep;
res:(`yInt,ind)!beta;
Run Code Online (Sandbox Code Playgroud)
ind是符号中的独立字段名称,dep是符号中的依赖字段名称.这部分inv[X mmu flip X]不起作用.如果我为ind包含两个以上的字段,那么将会有一行是空白的,我不能这样做inv.我不确定如何为自变量包含更多列/字段.
我从日期时间原子中提取了年、日、月、小时、分钟和秒。如何在数字位数小于 2 的日、月、时、分、秒中添加前导零?
我有这样的事情:
year:string`year$inDateTime;
day:string`dd$inDateTime;
if[1=(count day);day:("0",day)];
month:string`mm$inDateTime;
if[1=(count month);month:"0",month];
hour:string`hh$inDateTime;
if[1=(count hour);hour:"0",hour];
minute:string`uu$inDateTime;
if[1=(count minute);minute:"0",minute];
second:string`ss$inDateTime;
if[1=(count second);second:"0",second];
Run Code Online (Sandbox Code Playgroud)
但有没有更干净的方法来实现这一点呢?
您将如何使用 q kdb 解析格式为“dd/MM/yyyy”的日期字符串?
当月份参数是第一个 "MM/dd/yyyy" 时是可能的,如下所示:
"D"$"1/20/2014"
2014-01-20d
Run Code Online (Sandbox Code Playgroud)
但是,如果第一天是“dd/MM/yyyy”
"D"$"20/1/2014"
0Nd
Run Code Online (Sandbox Code Playgroud) 这个有效:
d1:`t1`t2`idx!(2017.01.01;2018.01.01;42)
Run Code Online (Sandbox Code Playgroud)
但是这个失败了(类型错误):
d2:()!()
d2[`t1]:2017.01.01
d2[`t2]:2018.01.01
d2[`idx]:42
Run Code Online (Sandbox Code Playgroud)
有解决方法吗?为了更好的可读性,我想逐键(逐行)填充字典。实际上,它更长。
kdb凡人/神!!
我有一个日期时间字符串数组,但格式不同
> leads[`firstConversion]
"Wed May 20 2020 08:56:54 GMT-0700 (PDT)"
"Wed May 20 2020 08:56:56 GMT-0700 (PDT)"
"Wed May 20 2020 08:56:56 GMT-0700 (PDT)"
"Wed May 20 2020 08:56:56 GMT-0700 (PDT)"
"Wed May 20 2020 08:56:57 GMT-0700 (PDT)"
"Wed May 20 2020 08:56:58 GMT-0700 (PDT)"
"Wed May 20 2020 08:56:58 GMT-0700 (PDT)"
"Wed May 20 2020 08:56:59 GMT-0700 (PDT)"
"Wed May 20 2020 08:57:00 GMT-0700 (PDT)"
"Wed May 20 2020 08:57:01 GMT-0700 (PDT)"
"Wed May 20 2020 09:06:32 GMT-0700 …Run Code Online (Sandbox Code Playgroud) kdb ×10
q-lang ×2
angularjs ×1
database ×1
date ×1
formatting ×1
javascript ×1
regression ×1
zero ×1