1 つの条件付き例外を含む最終テスト結果列を追加します。以下に示す 1 つの例外を除いて、最終テスト結果の列を追加するにはどうすればよいでしょうか。

同じ種類の質問を何度も繰り返して申し訳ありません。
ありがとうございます
基本的なデータ分析とモデリングRe: 1 つの条件付き例外を含む最終テスト結果列を追加します。私が考え出した公式はこれです。必ず勉強して理解してください。質問がある場合は、コミュニティに戻って説明を求めてください。
If( Col Max( Col Sum( :Result == "Pass", :SN, :Run ), :SN ) == Col Number( 1, :SN, :Run ),
val = "Pass",
val = :Result[Col Min( If( :Result != "Pass" & :Final test check == 1, Row(), . ), :SN )];
If( val == "Bin10" & Col Sum( :Result == "Bin3", :SN ),
val = "Bin3"
);
);
val;

Re: 1 つの条件付き例外を含む最終テスト結果列を追加します。ありがとう、ジム。
これは、小さなデータセットでは問題なく動作します。これを実際のデータ (4000 行) に使用すると、実行に非常に時間がかかります。これを高速化する方法はありますか?
Re: 1 つの条件付き例外を含む最終テスト結果列を追加します。これによって速度が上がるかどうかを確認してください。
これは数式ではなく、JMP スクリプトです。
新しい JMP スクリプト ウィンドウを開き、以下のスクリプトをウィンドウに貼り付けます。
処理するデータ テーブルを開くか、すでに開いている場合は、それをクリックして現在のデータ テーブルにします。
スクリプト ウィンドウに戻り、スクリプトを実行します。
現在のデータ テーブルに新しい列が作成されます。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "theRow", set each value( Row() ) );
Wait( 0 );
dts = dt << Subset( invisible, By( :SN ), All rows, Selected columns only( 0 ), selected columns( 0 ) );
For Each( {d}, dts,
d << New Column( "calculated wanted column",
character,
formula(
If( Col Max( Col Sum( :Result == "Pass", :Run ) ) == Col Number( 1 ),
val = "Pass",
val = :Result[Col Min( If( :Result != "Pass" & :Final test check == 1, Row(), . ), :SN )];
If( val == "Bin10" & Col Sum( :Result == "Bin3" ),
val = "Bin3"
);
);
val;
)
);
dt << Update(
With( d ),
Match Columns( :theRow = :theRow ),
Replace Columns in Main Table( :calculated wanted column )
);
Close( d, nosave );
);<BR />dt << delete columns(theRow);

Re: 1 つの条件付き例外を含む最終テスト結果列を追加します。ありがとう、ジム。
はるかに高速です。