Utilizzo di Update() per aggiungere nuove righe nella tabella principaleSto cercando di aggiornare una tabella che a volte contiene nuove righe (basate su un indice).
Sembra che io debba usare join, poiché quanto segue non sembra funzionare (qui, l'indice è la colonna del nome).
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = New Table( "Little Class",
Add Rows( 3 ),
New Column( "name",
Character,
Nominal,
Set Values( {"ALICE", "NEW_NAME", "OTHER_NEW_NAME"} )
),
New Column( "height",
Continuous,
Set Values( [999, 999, 999] )
),
New Column( "weight",
Continuous,
Set Values( [999, 999, 999] )
),
New Column( "RANK",
Continuous,
Set Values( [3, 1, 2] )
),
New Column( "CODE",
Continuous,
Set Values( [0, 1, 1] )
)
);
dt1 << Update(
With( Data Table( "Little Class" ) ),
Match Columns( :name = :name ),
Add columns from Update table( {:RANK} )
);
Miscelazione e pulizia dei datiRi: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleLa nuova piattaforma di partecipazione potrebbe essere simile a questa:
https://community.jmp.com/t5/JMP-Wish-List/Tables-join-option-to-update-main-table/idc-p/653857/highlight/true#M4537

Ri: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleHo scritto il desiderio di aggiungere un'opzione per aggiornare la tabella principale:
Join tabelle: opzione per aggiornare la tabella principale
sentiti libero di supportarlo 
Ri: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleIl più delle volte lo farei con le tabelle invisibili, perché questo dà la possibilità di aprirle facilmente dall'elenco delle finestre di JMP (se non sono state chiuse).
Le tabelle invisibili sono di colore grigio (trasparenti) nell'Elenco finestre e puoi renderle visibili facendo doppio clic su di esse.

Suggerisco anche di aggiungere nomi alle tabelle, in quanto rende più facile avviare il debug quando si hanno molte tabelle aperte e per qualche motivo il codice non è stato eseguito correttamente. Senza rinominarli diventeranno solo un pasticcio come: Sottoinsieme di qualcosa 1, Sottoinsieme di qualcosa 2, Senza titolo 1 e così via.
Di seguito è riportato un esempio che aprirà dt come invisibile e creerà dt_new come tabella invisibile. Quindi uniscili a una nuova tabella chiamata JOINED_TABLE che verrà mostrata all'utente e infine chiudi dt e dt_new senza salvarli. <BR />
</CODE><CODE class=" language-jsl">Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp", invisible);
dt_new = New Table( "Little Class",
Add Rows( 3 ),
New Column( "name",
Character,
Nominal,
Set Values( {"ALICE", "NEW_NAME", "OTHER_NEW_NAME"} )
),
New Column( "height",
Continuous,
Set Values( [999, 999, 999] )
),
New Column( "weight",
Continuous,
Set Values( [999, 999, 999] )
),
New Column( "RANK",
Continuous,
Set Values( [3, 1, 2] )
),
New Column( "CODE",
Continuous,
Set Values( [0, 1, 1] )
),
invisible
);
dt_joined = dt << Join(
With(dt_new),
Merge Same Name Columns,
By Matching Columns(:name = :name),
Drop multiples(0, 0),
Include Nonmatches(1, 1),
Preserve main table order(1),
Output table("JOINED_TABLE")
);
Close(dt, no save);
Close(dt_new, no save);
Ri: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleVedo. Cosa consiglieresti per semplificare quest'ultimo passaggio?
Ho 'dt' (originale) e 'dt_joined' ('dt' + 'dt_new').
Ri: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleHo testato la stessa opzione e si è comportata allo stesso modo, ha creato una nuova tabella.
Posso condividere il dolore con la gestione delle tabelle aperte in JMP, ma mentre lo scripting è abbastanza semplice (aggiungerà del codice extra tu), aprile/creale come invisibili/private e chiudile immediatamente senza salvare dopo che sai che non lo farai averne più bisogno.
Ri: Utilizzo di Update() per aggiungere nuove righe nella tabella principale"Tranne che dovrai occuparti di tavoli extra"
Esattamente. Viene generata una nuova tabella nonostante io stia eseguendo il join con l'opzione di aggiornamento selezionata.
dt<< Join(
With( dt_new ),
Update, // this option is selected
By Matching Columns( :index= :index),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 )<BR />);<BR /><BR />// Opens new table apart of dt and dt_newRi: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleHo trovato un post simile dalla community qui ed è stato suggerito di utilizzare Join invece di aggiornare quando vengono aggiunte nuove righe:
Aggiornamento delle tabelle dati JMP
C'è un motivo per cui non puoi usare join invece di update (tranne che dovrai occuparti di tabelle extra)?
Dalla Guida di JMP: Aggiorna tabelle dati :
Se si dispone di due tabelle di dati e si desidera aggiornare la tabella originale con i dati di una nuova tabella, selezionare Tabelle > Aggiorna . Il comando Aggiorna è un caso speciale di Unisci sul posto. È un'unione con l'opzione Aggiorna selezionata e non risulta in una nuova tabella.
Ri: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleLa tua ipotesi dichiarata è corretta, dovrai utilizzare la piattaforma Join per fare ciò che desideri.