Usando Update () para agregar nuevas filas a la tabla principalEstoy intentando actualizar una tabla que a veces contiene nuevas filas (según un índice).
Parece que necesito usar join, ya que lo siguiente no parece funcionar (aquí, el índice es la columna de nombre).
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: usar Update () para agregar nuevas filas a la tabla principalSu suposición declarada es correcta, tendrá que usar la plataforma Join para hacer lo que quiera.
Re: usar Update () para agregar nuevas filas a la tabla principalEncontré una publicación similar de la comunidad aquí y se sugirió usar Unirse en lugar de actualizar cuando se agregan nuevas filas:
Actualización de tablas de datos de JMP
¿Hay alguna razón por la que no pueda usar unirse en lugar de actualizar (excepto que tendrá que lidiar con tablas adicionales)?
Desde la Ayuda de JMP: Actualizar tablas de datos :
Si tiene dos tablas de datos y le gustaría actualizar su tabla original con datos de una nueva tabla, seleccione Tablas> Actualizar . El comando Actualizar es un caso especial de Unión en el lugar. Es una opción Unirse con la actualización marcada y no da como resultado una nueva tabla.
Re: usar Update () para agregar nuevas filas a la tabla principal"Excepto que tendrás que lidiar con mesas extra"
Exactamente. Se genera una nueva tabla a pesar de que estoy haciendo la unión con la opción de actualización seleccionada.
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