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} )
);
ScriptingRe: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleLa tua ipotesi dichiarata è corretta, dovrai utilizzare la piattaforma Join per fare ciò che desideri.
Re: Utilizzo di Update() per aggiungere nuove righe nella tabella principaleHo trovato un post simile dalla community qui ed è stato suggerito di utilizzare Partecipa 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 disponi di due tabelle di dati e desideri aggiornare la tabella originale con i dati di una nuova tabella, seleziona Tabelle > Aggiorna . Il comando Aggiorna è un caso speciale di Join in place. È un join con l'opzione Aggiorna selezionata e non risulta in una nuova tabella.
Re: Utilizzo di Update() per aggiungere nuove righe nella tabella principale"Tranne che dovrai fare i conti con 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_new