檢查多個列值是否在範圍內樣品表:
零件 測試 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,
“是的”,
“不”
)
)