Scripting Guide > Data Tables > Advanced Data Table Scripting > Replace Data in Data Tables
发布日期: 08/07/2020

Replace Data in Data Tables

Note: Merge Update() is an alias for Update().

Update() replaces data in one table with data from a second table.

dt << Update( // message to first table
	With( dataTable ), // the other data table
	By Row Number, /* default join type; alternative is
							By Matching Columns( col1 == col2 ) */
	Ignore Missing, // optional, does not replace values with missing values
	);

To try this, make a subset of Big Class.jmp, as follows:

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
NewHt = dt << Subset( Columns( :name, :height), Output Table Name( "hts" ) );

Next, add 0-6 inches to each student’s height:

diff = Random Uniform( 0, 6 );
For Each Row( NewHt, :height = :height + diff );

Finally, update the heights of students in Big Class.jmp with the new heights from the subset table:

dt << Update(
	With( NewHt ),
	By Matching Columns( :name == :name),
	);

Controlling the Columns Added to an Updated Table

Your updated table might contain more columns than your original table. You can select which columns are included in your updated table using the option Add Column from Update Table().

To add no additional columns:

Data Table( "table" ) << Update(
	With( Data Table( "update data" ) ),
	Match Columns( :ID = :ID ),
	Add Columns from Update Table( None )
);

To add some columns:

Data Table( "table" ) << Update(
	With( Data Table( "update data" ) ),
	Match Columns( :ID = :ID ),
	Add Columns from Update table( :col1, :col2, :col3 )
);
需要更多信息?有问题?从 JMP 用户社区得到解答 (community.jmp.com).