检查多个列值是否在范围内<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />示例表:
| 部分 | 测试 1 | 测试 2 | 测试 3 | 测试 4 |
| 一种 | 0.2 | 0.4 | 0.3 | 0.1 |
| 乙 | 0.2 | 0.3 | 0.4 | 0.6 |
| C | 0.7 | 0.1 | 0.2 | 0.4 |
我想在这个表中添加一列来评估列测试 1-测试 4 中的每个值,如果所有值都在输出“是”的范围内。
例如,如果我的范围是 0 < values < 0.5,输出将如下所示(我用红色突出显示了失败的值)
| 部分 | 测试 1 | 测试 2 | 测试 3 | 测试 4 | 是/否 |
| 一种 | 0.2 | 0.4 | 0.3 | 0.1 | 是的 |
| 乙 | 0.2 | 0.3 | 0.4 | 0.6 | 不 |
| C | 0.7 | 0.1 | 0.2 | 0.4 | 不 |
有没有一种简单的方法可以使用 JSL 实现这一目标?
回复:检查多个列值是否在范围内新列(“在范围内?”,公式(
如果(
Min(:Test 1, :Test 2, :Test 3, :Test 4) > 0 &
Max( :Test 1, :Test 2, :Test 3, :Test 4 ) < 0.5,
“是的”,
“不”
)
)
回复:检查多个列值是否在范围内罗恩霍恩的方法可以推广。关键是要认识到最小值() 和最大值() 函数返回其参数的最小值/最大值。所以,当你摆出姿势时,比较可以写成:
Minimum( :Test 1, :Test 2, :Test 3, :Test 4 ) > 0.23 &
Maximum( :Test 1, :Test 2, :Test 3, :Test 4 ) < .5;
-杰夫
回复:检查多个列值是否在范围内罗恩
谢谢你的回应。您提供的脚本在这种情况下可以完成工作,但我想要一个更强大/更通用的解决方案(例如,当我的测试标准的限制为 0.23 < 测试值 < 0.5 时)。
有没有办法设置列公式或编写将多列视为数组的解决方案?在伪代码中:
下限 = 0.23
上限 = 0.5
如果lower_limit < [Column(2), Column(3), Column(4), Column(5)] < upper_limit
显示“是”
别的
显示“否”
此处的伪代码将针对限制单独测试第 2-5 列中的每个值,如果所有值都在范围内,则输出“是”。
多个 AND/OR 语句可以实现这一点,但似乎是一种基本方法。
谢谢!
回复:检查多个列值是否在范围内嗨,伙计们,
要回答您的确切问题,以下脚本可以做到。
更通用的解决方案取决于需要泛化的方面(即更多列、不同列的不同范围以及您是希望它在列公式中还是仅由 jsl 计算一次)
dt =新表( “数据源” ,
添加行( 3 ) ,
新栏目( “部分” ,特点,标称,设置值( { “一种” , “乙” , “C” } ) ) ,
新栏目( “测试1” ,设置值( [ 0.2 , 0.2 , 0.7 ] ) ) ,
新栏目( “测试2” ,设置值( [ 0.4 , 0.3 , 0.1 ] ) ) ,
新栏目( “测试3” ,设置值( [ 0.3 , 0.4 , 0.2 ] ) ) ,
新栏目( “测试4” ,设置值( [ 0.1 , 0.6 , 0.4 ] ) ) ,
) ;
dt <<新栏目( “是/否” ,
特点,
标称,
公式(
如果(
最大值(
腹肌( :测试 1 ) ,
腹肌( :测试 2 ) ,
腹肌( :测试 3 ) ,
腹肌( :测试 4 )
) > 0.5 ,
“不” ,
“是的”
)
)
) ;