ループのスクリプト(多分ダブルループ)こんにちは、
顧客向けのスクリプトを作成するために助けが必要です(添付ファイルを参照)。
彼は、JMPで「相対時間」列を自動的に計算したいと考えています(ここでは、Excelでオフラインで計算されます)。
各「バッチ番号」について、「新しいバッチトリガー」= 1の場合、対応する行の「日付/時刻」が参照として使用され(「0」に設定)、「相対時間」は[日付]として計算されます。 / Timei-日付/ Timeref]。
私はまだ「スクリプトに堪能」ではありませんが、何か助けていただければ幸いです。
ありがとうございました。
エマニュエル
Re:ループのスクリプト(多分ダブルループ)こんにちはエマニュエル、
これを行う最も簡単な方法は、列の数式を使用してインタラクティブに行うことです。
- まず、新しいバッチフラグ用に既に持っている列式を編集して、最初の行を許可します。 ここでも、値を1に等しくする必要があります。 次に、最初の行に1があり、「新しいバッチ」の基準を満たす行があります。 (すぐ下の数式画像を参照してください。)
- 「新しいバッチ」行の累積合計の列変換を追加します。 これにより、各バッチに番号が付けられ、グループ化が可能になります。 (番号付けについては、2番目の数式のスクリーンショットとデータテーブルのスクリーンショットを参照してください)
- 上記の手順1で追加した行でグループ化された、時間と列の最小時間の差を計算する数式列を追加します(3番目の数式のスクリーンショットとデータテーブルのスクリーンショットを参照して、新しいグループごとに相対時間が0にリセットされることを確認してください)。




お客様がこれをスクリプト化することを主張する場合は、「新しいバッチトリガー」列の式を修正し、上の表の最後の2列を追加するスクリプトを次に示します。
Names Default To Here( 1 );
dt = Current Data Table();
dt:New Batch Trigger << formula( If( Row() == 1 | Dif( :Temperature C in °C, 1 ) + Dif( :Temperature B in °C, 1 ) < -60, 1, 0 ) );
dt << New Column( "Batch Group", formula( Col Cumulative Sum( :New Batch Trigger ) ) );
dt << New Column( "Rel time within group", formula( :"Date/Time"n - Col Minimum( :"Date/Time"n, :batch group ) ) );
添付のテーブル。
乾杯、
ブレイディ
Re:ループのスクリプト(多分ダブルループ)こんにちはブレイディ、
ありがとうございました。 それは彼ら自身の「相対時間」列と相関していないので、私はまだ少し混乱しています。 問題は、それらの参照行がロットの「中央」にあり、したがって負の「相対時間」があるという事実に起因すると思います。
エマニュエル
Re:ループのスクリプト(多分ダブルループ)最終的には、添え字と行関数を含む列式を使用しました(リクエストを投稿した時点では気づいていませんでした)。
