如何在sqlColAlias中使用动态列名呢

如题,例如

keycol = `TestCol

led = 5

sql(select=(sqlCol("*"), sqlColAlias(<sma(keycol , led)>,  keycol + `_5)), from=tbm)

// < select *,sma(keycol, led) as TestCol5 from tbm >

// wanted, < select *,sma(TestCol, 5) as TestCol5 from tbm >

请先 登录 后评论

2 个回答

mhxiang

sqlColAlias(makeCall(sma, sqlCol(keycol), led), keycol + "_5")

请先 登录 后评论
wale

用sqlCol函数,以及对sma使用部分应用变成一元函数:

tbm = table(`GME`AMC`KOSS`GME`AMC`KOSS as symbol, 32.512 13.26 64 32.512 13.26 64 as TestCol);
keycol = `TestCol
led = 5

//sql(select=(sqlCol("*"), sqlColAlias(makeCall(sma, sqlCol(keycol), led), keycol + "_5")), from=tbm).eval();
sql(select=(sqlCol("*"), sqlCol(keycol,sma{, led}, keycol + "_5")), from=tbm).eval();

执行后,输出:

symbol	TestCol	TestCol_5
GME	32.512	
AMC	13.26	
KOSS	64	
GME	32.512	
AMC	13.26	31.1088
KOSS	64	37.4064

请先 登录 后评论
  • 2 关注
  • 0 收藏,1018 浏览
  • haaha 提出于 2021-12-31 17:39

相似问题