永洪社区

标题: 如何用参数组件中的参数做判断条件生成新字段? [打印本页]

作者: kakaxiong    时间: 2022-7-8 15:29
标题: 如何用参数组件中的参数做判断条件生成新字段?
例如列表参数1中有多个值(A\B\C)可多选
现想用列表参数做判断条件生成新字段,逻辑如下:
如果列表参数1等于AB且不等于C时,输出sum(字段S)
如果列表参数1等于AC且不等于B时,输出sum(字段T)
如果列表参数1等于BC且不等于A时,输出sum(字段U)
请问脚本该怎么写?

作者: yhdata_lyaa    时间: 2022-7-8 15:44
新建计算列,
if判断 列表参数1等于AB且不等于C时,为(字段S)
sum是聚合计算,不能是新字段。
作者: kakaxiong    时间: 2022-7-11 11:18
本帖最后由 kakaxiong 于 2022-7-11 11:20 编辑
lyaa 发表于 2022-7-8 15:44
新建计算列,
if判断 列表参数1等于AB且不等于C时,为(字段S)
sum是聚合计算,不能是新字段。 ...

if(param["列表参数12"]=='Z5'&&param["列表参数12"]=='Z6'&&param["列表参数12"]=='Z4'){Sum(col['zdlz_qty'])+Sum(col['bdlz_qty'])+Sum(col['tx_qty'])}
else if(param["列表参数12"]=='Z5'&&param["列表参数12"]=='Z6'&&param["列表参数12"]!='Z4'){Sum(col['zdlz_qty'])+Sum(col['bdlz_qty'])}
else if(param["列表参数12"]=='Z5'&&param["列表参数12"]!='Z6'&&param["列表参数12"]=='Z4'){Sum(col['zdlz_qty'])+Sum(col['tx_qty'])}
else if(param["列表参数12"]!='Z5'&&param["列表参数12"]=='Z6'&&param["列表参数12"]=='Z4'){Sum(col['bdlz_qty'])+Sum(col['tx_qty'])}
else if(param["列表参数12"]=='Z5'&&param["列表参数12"]!='Z6'&&param["列表参数12"]!='Z4'){Sum(col['zdlz_qty'])}
else if(param["列表参数12"]!='Z5'&&param["列表参数12"]=='Z6'&&param["列表参数12"]!='Z4'){Sum(col['bdlz_qty'])}
else if(param["列表参数12"]!='Z5'&&param["列表参数12"]!='Z6'&&param["列表参数12"]=='Z4'){Sum(col['tx_qty'])}
else if(param["列表参数12"]!='Z5'&&param["列表参数12"]!='Z6'&&param["列表参数12"]!='Z4'){Sum(col['lz_c_m_qty'])}

脚本是这样写的,新建的聚合表达式,但是并不生效,麻烦能不能帮忙看一下
作者: yhdata_lyaa    时间: 2022-7-11 11:32
kakaxiong 发表于 2022-7-11 11:18
if(param["列表参数12"]=='Z5'&&param["列表参数12"]=='Z6'&&param["列表参数12"]=='Z4'){Sum(col['zdlz_q ...

不行哦,不要用sum。维度计算列和聚合列不能混合使用。
作者: kakaxiong    时间: 2022-7-11 11:37
lyaa 发表于 2022-7-11 11:32
不行哦,不要用sum。维度计算列和聚合列不能混合使用。

哪我想达到上面的需求还有其他方法吗,求指教
作者: yhdata_lyaa    时间: 2022-7-11 11:43
为什么要输出sum(字段S),用该字段的时候可以直接选总和呀,或者再 计算列字段S的 基础上,再计算一次sum(字段S)




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