Usando Update () para agregar nuevas filas a la tabla principalEstoy tratando de actualizar una tabla que a veces contiene filas nuevas (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} )
);
Fusión y limpieza de datosRe: Usar Update() para agregar nuevas filas a la tabla principalLa nueva plataforma de unión podría tener este aspecto:
https://community.jmp.com/t5/JMP-Wish-List/Tables-join-option-to-update-main-table/idc-p/653857/highlight/true#M4537

Re: Usar Update() para agregar nuevas filas a la tabla principalEscribí un deseo de agregar una opción para actualizar la tabla principal:
Unión de tablas: opción para actualizar la tabla principal
no dudes en apoyarlo 
Re: Usar Update() para agregar nuevas filas a la tabla principalLa mayoría de las veces lo haría con tablas invisibles, porque eso da la posibilidad de abrirlas fácilmente desde la lista de ventanas de JMP (si no se han cerrado).
Las tablas invisibles están en color gris (transparente) en la Lista de Ventanas y las haces visibles haciendo doble clic sobre ellas.

También sugiero agregar nombres a las tablas, ya que facilita el inicio de la depuración cuando tiene muchas tablas abiertas y, por alguna razón, el código no se ejecutó correctamente. Sin cambiar el nombre, se convertirán en un desastre como: Subconjunto de algo 1, Subconjunto de algo 2, Sin título 1 y así sucesivamente.
A continuación se muestra un ejemplo que abrirá dt como invisible y creará dt_new como tabla invisible. Luego únalos a una nueva tabla llamada JOINED_TABLE que se mostrará al usuario y finalmente cierre dt y dt_new sin guardarlos. <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);
Re: Usar Update() para agregar nuevas filas a la tabla principalVeo. ¿Qué recomendaría para simplificar este último paso?
Tengo 'dt' (original) y 'dt_joined' ('dt' + 'dt_new').
Re: Usar Update() para agregar nuevas filas a la tabla principalProbé la misma opción y se comportó de la misma manera, creó una nueva tabla.
Puedo compartir el dolor con el manejo de tablas abiertas en JMP, pero mientras que la creación de secuencias de comandos es bastante fácil (agregará un código adicional), ábralas/créelas como invisibles/privadas y ciérrelas inmediatamente sin guardar después de saber que no lo hará. estar necesitándolos más.
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_newRe: 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 JMP
¿Hay alguna razón por la que no pueda usar unirse en lugar de actualizar (excepto que tendrá que lidiar con tablas adicionales)?
De la ayuda de JMP: Actualizar tablas de datos :
Si tiene dos tablas de datos y desea actualizar su tabla original con datos de una tabla nueva, seleccione Tablas > Actualizar . El comando Actualizar es un caso especial de Unir en el lugar. Es un Join con la opción Actualizar marcada , y no da como resultado una nueva tabla.
Re: 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.