永洪社区

标题: 下拉参数多个时计算列如何匹配? [打印本页]

作者: yhdata_9g36a3ZS    时间: 2023-6-20 12:27
标题: 下拉参数多个时计算列如何匹配?
本帖最后由 yhdata_9g36a3ZS 于 2023-6-20 12:29 编辑

因为一些原因必须通过传参 对计算列进行操作,如果下拉是多选这里该怎么写 ?  “==” 只能判断一个值



作者: yhdata_ruby    时间: 2023-6-20 13:13
用&&连接俩个条件
作者: yhdata_yzm    时间: 2023-6-20 13:13
用if函数去写
作者: yhdata_9g36a3ZS    时间: 2023-6-20 13:56
yhdata_yzm 发表于 2023-6-20 13:13
用if函数去写

请问具体如何写呢?假设我选择了以下几个值,如何做 类似 sql的 in 语句?   iif (col['二级及以下科目' == param['下拉列表参数1', 100, 0)



作者: yhdata_9g36a3ZS    时间: 2023-6-20 13:56
yhdata_ruby 发表于 2023-6-20 13:13
用&&连接俩个条件

我这里是一个条件 匹配多个值
作者: yhdata_ruby    时间: 2023-6-20 14:02
yhdata_9g36a3ZS 发表于 2023-6-20 13:56
我这里是一个条件 匹配多个值

匹配到其中一个就可以?if里面加or去设置多个条件
作者: yhdata_9g36a3ZS    时间: 2023-6-20 15:04
yhdata_ruby 发表于 2023-6-20 14:02
匹配到其中一个就可以?if里面加or去设置多个条件

但是 条件是多选的,选择的个数不固定, 假设 有 3个 , 那是  要  if( column == value1 or column == value2 or column == value3) then 。。。  这样吗? 但是 要是选择了 5、6个怎么办
作者: yhdata_ruby    时间: 2023-6-20 15:05
yhdata_9g36a3ZS 发表于 2023-6-20 15:04
但是 条件是多选的,选择的个数不固定, 假设 有 3个 , 那是  要  if( column == value1 or column == v ...

没理解到你的意思,你是想勾选的数据作为什么样的条件来判断
作者: DX188    时间: 2023-6-20 15:17
首先在脚本变化时取下拉组件勾选值,取出来 的是一数组。再将这个数组转换成字符串,赋值给一个新参数。再在计算列里用find等函数在新参数中去查找你要的那个值,如果大于0说明有,就返回你要的数据
作者: yhdata_9g36a3ZS    时间: 2023-6-20 15:22
本帖最后由 yhdata_9g36a3ZS 于 2023-6-20 15:24 编辑
DX188 发表于 2023-6-20 15:17
首先在脚本变化时取下拉组件勾选值,取出来 的是一数组。再将这个数组转换成字符串,赋值给一个新参数。再 ...
你好,你的方法 我之前试过 也是 将多个值拼成字符串后, 然后再匹配, 就想问下有没有 简单点的,  如果能类似    col[column] in  param['xxxx']   这个样就方便了

作者: yhdata_9g36a3ZS    时间: 2023-6-20 15:27
yhdata_ruby 发表于 2023-6-20 15:05
没理解到你的意思,你是想勾选的数据作为什么样的条件来判断

其实就是我使用  fixed 函数,外部的过滤组件的不生效,作用不到fixed, 需要通过传参方式绑定到函数里,这样 就会涉及到多个值的情况
作者: 行走的蜗牛    时间: 2023-6-21 09:07
for循环判定




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