複数の列の値が範囲内にあるかどうかを確認するサンプルテーブル:
パート テスト 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でこれを達成する簡単な方法はありますか?
Re: 複数の列の値が範囲内にあるかどうかを確認します<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />やあ、フーシーズ
正確な質問に答えるには、次のスクリプトを使用できます。
より一般的な解決策は、一般化が必要な側面によって異なります (つまり、より多くの列、異なる列の異なる範囲、および列の数式でそれを使用するか、jsl で 1 回だけ計算するか)。
dt =新しいテーブル( "情報元" 、
行を追加( 3 ) 、
新しい列( "部" 、キャラクター、公称、設定値( { 「あ」 、 "B" 、 "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 、
"いいえ" 、
"はい"
)
)
) ;
Re: 複数の列の値が範囲内にあるかどうかを確認します<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 ステートメントでこれを実現できますが、初歩的なアプローチのように思えます。
ありがとう!
Re: 複数の列の値が範囲内にあるかどうかを確認します<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ron_horneの方法は一般化できます。 重要なのは、 Minimum() および Maximum() 関数引数の最小/最大値を返します。 したがって、あなたがそれをポーズすると、比較は次のように書くことができます:
Minimum( :Test 1, :Test 2, :Test 3, :Test 4 ) > 0.23 &
Maximum( :Test 1, :Test 2, :Test 3, :Test 4 ) < .5;
-ジェフ
Re: 複数の列の値が範囲内にあるかどうかを確認する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />新しい列("範囲内ですか?", 方式(
もしも(
Min( :テスト 1, :テスト 2, :テスト 3, :テスト 4 ) > 0 &
Max( :テスト 1, :テスト 2, :テスト 3, :テスト 4 ) < 0.5,
"はい"、
"いいえ"
)
)