KDB 列等号反勾不起作用
KDB column equal sign back tick not working
此查询仅从两种应用类型获取列数据——STEALTH 和 BOMB US。在我不得不将 eventtype 列隔离为仅 "AR" 个事件之前,此查询工作正常。数据太多,无法将其隔离。
我从未见过如此多的数据。我看到的所有其他 q 脚本都使用这种格式来过滤列,即带反勾号的等号。
此查询的结果集要小得多,但是结果集 header 中列的标签,而不是 "eventtype"
只有一个 X。此外,列数据不是 "AR",而是 1 或 0 - 这可能是真或假。
如果它实际上是 AR,而不是 1 或 0,我需要列数据说 AR。另外,如果列 header 说 "eventtype" 而不是 "x",那将是令人放心的就像我 运行 脚本没有 (equal backtick AR) =`AR
我正在使用 qpad 运行 查询
raze{[tradedate]
setdate tradedate;
`rootordid`clordid xasc
select from(
(select ltime transacttime, apptype, rootordid, eventtype=`AR, msgcategory from orders where (apptype like "STEALTH US") or apptype like "BOMB US")
)}each .utl.get_bdts[2017.12.04;2017.12.05]
您看到的使用 equals backtack 过滤列的脚本正在使用它来过滤符号类型的列。您可以通过 运行 meta tablename
来判断列的类型。过滤数据也要求这个条件在 where
子句中。对于上面的示例,如果 eventtype
是符号类型,那么您需要将 where
子句修改为:
where (apptype like "STEALTH US") or apptype like "BOMB US", eventtype=`AR
where eventtype=`AR, (apptype like "STEALTH US") or apptype like "BOMB US"
在此阶段,输出 table 将仅包含 AR 事件,并保留名称 eventtype
,而不会输出布尔列表。
有关 select
和 where
子句的更多信息,请查看维基上的 Q-SQL 页面。
注意:如果eventtype
是字符串类型那么你可以使用eventtype like "AR"
.
此外,如果 apptype
是符号列,您可以将其条件修改为:
where apptype in `$("STEALTH US";"BOMB US")
这应该会比使用 like
.
提高性能
此查询仅从两种应用类型获取列数据——STEALTH 和 BOMB US。在我不得不将 eventtype 列隔离为仅 "AR" 个事件之前,此查询工作正常。数据太多,无法将其隔离。 我从未见过如此多的数据。我看到的所有其他 q 脚本都使用这种格式来过滤列,即带反勾号的等号。 此查询的结果集要小得多,但是结果集 header 中列的标签,而不是 "eventtype" 只有一个 X。此外,列数据不是 "AR",而是 1 或 0 - 这可能是真或假。 如果它实际上是 AR,而不是 1 或 0,我需要列数据说 AR。另外,如果列 header 说 "eventtype" 而不是 "x",那将是令人放心的就像我 运行 脚本没有 (equal backtick AR) =`AR
我正在使用 qpad 运行 查询
raze{[tradedate]
setdate tradedate;
`rootordid`clordid xasc
select from(
(select ltime transacttime, apptype, rootordid, eventtype=`AR, msgcategory from orders where (apptype like "STEALTH US") or apptype like "BOMB US")
)}each .utl.get_bdts[2017.12.04;2017.12.05]
您看到的使用 equals backtack 过滤列的脚本正在使用它来过滤符号类型的列。您可以通过 运行 meta tablename
来判断列的类型。过滤数据也要求这个条件在 where
子句中。对于上面的示例,如果 eventtype
是符号类型,那么您需要将 where
子句修改为:
where (apptype like "STEALTH US") or apptype like "BOMB US", eventtype=`AR
where eventtype=`AR, (apptype like "STEALTH US") or apptype like "BOMB US"
在此阶段,输出 table 将仅包含 AR 事件,并保留名称 eventtype
,而不会输出布尔列表。
有关 select
和 where
子句的更多信息,请查看维基上的 Q-SQL 页面。
注意:如果eventtype
是字符串类型那么你可以使用eventtype like "AR"
.
此外,如果 apptype
是符号列,您可以将其条件修改为:
where apptype in `$("STEALTH US";"BOMB US")
这应该会比使用 like
.