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