ディレクトリ内のすべてのファイルに対して4つのことをする必要があります。
- データテーブルを開く
- 列を追加する
- そのデータテーブルのサブセットを取る
- そのサブセットを別のテーブルに連結する
とても単純に思えますが、私はステップ4で立ち往生します。元のデータテーブルを別のテーブルに連結することはできますが、サブセットは連結できません。jmpをこのサブセットと連携させるにはどうすればいいですか?
各ファイルは十分に大きいので、連結操作の前にサブセットを取得する必要があります。すべてのオリジナルファイルを連結すると、jmpがクラッシュします。私は毎週これを行う必要があるので、私はスクリプトがこれを行うことを望んでいます。
これが私の持っているものです。
Directory="C:\testpath\testdir\";
FileNames=Files in Directory (Directory);
Summary=New Table("Summary");
For (iFile=1, iFile<=N Items (FileNames), iFile++,
FileString=File Names[iFile];
File_Path=ConCat(Directory,FileString,"\",FileString,".jmp");
One Day Table=Open(File_Path);
New Column("Count Number",Character,Nominal,Formula(Right(:WaferId,2)));
One Day Table << Select Where((Count Number=="01" | Count Number=="08" | Count Number=="15" | Count Number=="22")& Is Missing(Name("SWR::WaferData::SWRNoLEHI1")));
One Day Table Part=One Day Table << Subset (Selected Rows);
FinalTable = Summary << Concatenate(One Day Table Part,OutputTable("Table C"));
close(One Day Table,No Save);
);
あなたの問題が何を言っているのか正確にはわかりませんが、"Summary"テーブルに連結し、毎回新しいデータを作成していることに気付きます。部品を単一のデータテーブルに蓄積しようとしている場合は、毎回そのテーブルに連結する必要があります。連結メッセージの[最初のテーブルに追加](1)オプションを使用してこれを実行できます。
Summary = New Table( "Summary" );
One Day Table = Open( "$SAMPLE_DATA\Big Class.jmp" );
One Day Table << Select Where( (:Sex == "M") );
One Day Table Part = One Day Table << Subset( Selected Rows );
Summary << Concatenate( One Day Table Part, append to first table(1));
Another Day Table = Open("$SAMPLE_DATA\Fitness.jmp");
Another Day Table << Select Where( (:Sex == "M") );
Another Day Table Part = Another Day Table << Subset( Selected Rows );
Summary << Concatenate( Another Day Table Part, append to first table(1));