永洪社区

标题: 在计算列中使用case when函数式 [打印本页]

作者: yhdata_IvpxFXx9    时间: 2024-1-2 13:27
标题: 在计算列中使用case when函数式
在计算列中使用case when函数式 时,如果有多个值需要进行判断时如何进行写 case type and id then 'A' and 1 then 1 else 0 end 这样吗

作者: yhdata_lyaa    时间: 2024-1-2 13:43
根据数据来源不同,计算类型分为SQL语句、Mongo管道语句、基础函数,case when要自己写sql语句。
https://www.yonghongtech.com/rea ... aculategrammar.html
计算列多个条件参考语法
if <expr> then <then> [elseif <expr2> then <then2>...] [else <else>] end
测试一系列表达式,同时为第一个为 true 的 <expr> 返回 <then> 值。
例如:
if (col['sales'] > 10000) then "高利润" elseif (col['sales'] < 10000 and col['sales'] > 1500) then "保持成本" else "亏本" end
作者: 哈莉·奎茵    时间: 2024-1-2 21:48
这个我试过,好像sql计算列不可以用case when,会有语法错误,如果不是特别多,可以考虑用多层if(,,)代替,实在不行就在建数据集写sql时把这个case when数据列写上(当然这个对用了聚合函数的不适用)。又或者数据量不是很多,可以考虑用js表达式实现。
作者: yanieye    时间: 2024-1-3 08:44
多值判断请使用if  then elseif then else end
类似于
if col['c1'] == 'A' and col['b1'] > 8 then 1 elseif col['c1'] == 'B' and col['b1'] < 0 then 0 else -1 end




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4