[常用脚本]
如何用参数组件中的参数做判断条件生成新字段?
例如列表参数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:36
新建计算列,
if判断 列表参数1等于AB且不等于C时,为(字段S)
sum是聚合计算,不能是新字段。 |
|
|
|
|
kakaxiong
显示全部楼层
发表于 2022-7-11 11:18:40
本帖最后由 kakaxiong 于 2022-7-11 11:20 编辑
if(param["列表参数12"]=='Z5'&¶m["列表参数12"]=='Z6'&¶m["列表参数12"]=='Z4'){Sum(col['zdlz_qty'])+Sum(col['bdlz_qty'])+Sum(col['tx_qty'])}
else if(param["列表参数12"]=='Z5'&¶m["列表参数12"]=='Z6'&¶m["列表参数12"]!='Z4'){Sum(col['zdlz_qty'])+Sum(col['bdlz_qty'])}
else if(param["列表参数12"]=='Z5'&¶m["列表参数12"]!='Z6'&¶m["列表参数12"]=='Z4'){Sum(col['zdlz_qty'])+Sum(col['tx_qty'])}
else if(param["列表参数12"]!='Z5'&¶m["列表参数12"]=='Z6'&¶m["列表参数12"]=='Z4'){Sum(col['bdlz_qty'])+Sum(col['tx_qty'])}
else if(param["列表参数12"]=='Z5'&¶m["列表参数12"]!='Z6'&¶m["列表参数12"]!='Z4'){Sum(col['zdlz_qty'])}
else if(param["列表参数12"]!='Z5'&¶m["列表参数12"]=='Z6'&¶m["列表参数12"]!='Z4'){Sum(col['bdlz_qty'])}
else if(param["列表参数12"]!='Z5'&¶m["列表参数12"]!='Z6'&¶m["列表参数12"]=='Z4'){Sum(col['tx_qty'])}
else if(param["列表参数12"]!='Z5'&¶m["列表参数12"]!='Z6'&¶m["列表参数12"]!='Z4'){Sum(col['lz_c_m_qty'])}
脚本是这样写的,新建的聚合表达式,但是并不生效,麻烦能不能帮忙看一下 |
|
|
|
|
yhdata_lyaa
显示全部楼层
发表于 2022-7-11 11:32:38
不行哦,不要用sum。维度计算列和聚合列不能混合使用。 |
|
|
|
|
kakaxiong
显示全部楼层
发表于 2022-7-11 11:37:27
|
|
|
|
yhdata_lyaa
显示全部楼层
发表于 2022-7-11 11:43:23
为什么要输出sum(字段S),用该字段的时候可以直接选总和呀,或者再 计算列字段S的 基础上,再计算一次sum(字段S) |
|
|
|
|