Salve, sono nuovo di JSL. Sto cercando di scrivere un codice per ottenere quanto segue.
Ho 4 diverse tabelle JMP. Sto confrontando ogni riga della colonna 1 della tabella 1 con la colonna 1 delle restanti tre tabelle.
Se una voce/riga di Coulmn 1 /table 1 corrisponde alla colonna 1 di Table 2 , assegna Character say- Group1 alla riga in table 1/ Column 4.
Allo stesso modo, se una qualsiasi riga della colonna 1/tale1 corrisponde alla colonna 1 della tabella 3 e della tabella 4, assegna un carattere diciamo Gruppo 2 nella tabella 1/colonna 4.
Sto creando con successo la colonna 4 e dopo il confronto con la tabella 2.
Tuttavia, trovo difficile aggiornare la stessa colonna 4 con Group2 quando confronto le righe di table1/column1 con table 3/column1.
Qualcuno potrebbe per favore aiutare?
*Più specificamente, come posso aggiornare la mia colonna esistente con una nuova stringa di caratteri per una determinata condizione. poiché non posso usare -nuova colonna per quello.*
Grazie
jodyep
Ciao Jim.
Grazie mille per il vostro aiuto. La modifica ha funzionato ed è stata molto semplificata.
Grazie
Gioia profonda
Ecco un paio di esempi che spero possano darti un vantaggio con la sceneggiatura su cui stai lavorando
Names Default To Here( 1 );
dt1 = New Table( "Table 1", New Column( "Col A", character, values( {"A1", "A2", "A3"} ) ) );
dt2 = New Table( "Table 2", New Column( "Col B", character, values( {"B1", "B2", "B3"} ) ) );
dt3 = New Table( "Table 3", New Column( "Col C", character, values( {"C1", "C2", "C3"} ) ) );
If( dt1:Col A[1] == "A1",
dt2:Col B[3] = "Group 1"
);
If( dt2[2, 1] == "B2",
Data Table( "Table 1" ):Col A[2] = "Looking Good"
);
Ecco una modifica del tuo script che credo semplificherà il codice
names default to here(1);
dt3 = Open( "\\Table 2" );
dt6 = Open( "Table 1" );
dt6 << New Column( "Group",
Character)
m = N Rows( dt6 );
n = N Rows( dt3 );
For( i = 1, i <= m, i++,;
For( j = 1, j <= n, j++,
If( Column( dt6, "Core ID" )[i] == (Column( dt3, "PC_ID" )[j]),
dt6:Group[i] = "Group 1"
);
);
);
dt6 << save( "Table1" );
//Close( dt3, nosave );
//Close( dt6, nosave );