可以参考下述语句进行改写:
select zscore(factor1) from t context by trade_date
对于多列情形:
(1)如果是内存表可以直接写:contextby(zscore, t, t.trade_date)
(2)否则,使用元编程:
t = table(100:0, [`trade_date, `symbol, `f1,`f2,`f3,`f4,`f5], [DATE, SYMBOL, DOUBLE, DOUBLE, DOUBLE, DOUBLE, DOUBLE])
otherCol = [`trade_date, `symbol]
colName = t.colNames()
factorCol = colName[not colName in otherCol]
sql(select=sqlCol(factorCol, zscore, "re_" + factorCol), from=objByName("t"), groupBy=sqlCol("trade_date"), groupFlag=0)