Utiliser Update() pour ajouter de nouvelles lignes dans la table principaleJ'essaie de mettre à jour une table qui contient parfois de nouvelles lignes (basées sur un index).
Il semble que je doive utiliser join, car ce qui suit ne semble pas fonctionner (ici, l'index est la colonne de nom).
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} )
);
ScriptRe : Utiliser Update() pour ajouter de nouvelles lignes dans la table principaleVotre hypothèse déclarée est correcte, vous devrez utiliser la plate-forme Join pour faire ce que vous voulez.
Re : Utiliser Update() pour ajouter de nouvelles lignes dans la table principaleJ'ai trouvé un article similaire de la communauté ici et il a été suggéré d'utiliser Join au lieu de mettre à jour lorsque de nouvelles lignes sont ajoutées :
Mise à jour des tables de données JMP
Y a-t-il une raison pour laquelle vous ne pouvez pas utiliser join au lieu de update (sauf que vous devrez gérer des tables supplémentaires) ?
Depuis l'aide JMP : Mettre à jour les tables de données :
Si vous avez deux tables de données et que vous souhaitez mettre à jour votre table d'origine avec les données d'une nouvelle table, sélectionnez Tableaux > Mettre à jour . La commande Update est un cas particulier de Join in place. C'est une jointure avec l'option Mettre à jour cochée , et il n'en résulte pas une nouvelle table.
Re : Utiliser Update() pour ajouter de nouvelles lignes dans la table principale"Sauf que vous devrez faire face à des tables supplémentaires"
Exactement. Une nouvelle table est générée bien que je fasse la jointure avec l'option de mise à jour sélectionnée.
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