Devo fare quattro cose per tutti i file in una directory:
- Apri una tabella di dati
- Aggiungi una colonna
- Prendi un sottoinsieme di quella tabella di dati
- Concatena quel sottoinsieme su una tabella diversa
Sembra così semplice, ma rimango bloccato al punto 4. Posso concatenare la tabella dei dati originale nella tabella diversa, ma non nel sottoinsieme. Come posso far funzionare jmp con questo sottoinsieme?
Ogni file è abbastanza grande da richiedere il sottoinsieme prima dell'operazione di concatenazione. La concatenazione di tutti i file originali porta a un arresto anomalo di jmp. Ho bisogno di farlo ogni settimana, quindi spero che un copione lo faccia.
Ecco cosa ho.
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);
);
Non sono sicuro di quello che stai dicendo che il tuo problema è, ma mi accorgo che stai concatenando la tabella "Riepilogo" e creando ogni volta nuovi dati. Se stai cercando di accumulare le parti in una singola tabella di dati, dovrai concatenarti ogni volta su quel tavolo. Puoi farlo con l'opzione Aggiungi alla prima tabella (1) sul messaggio Concatena.
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));