Generalizar el código para que funcione con Summerize/Summary.
dt = tabla de datos actual();
Resumir( g = Por(:Columna 0, :Columna 1 ) );
Para (i = 1, i <= N elementos (g[1]), i++,
r = dt << Obtener filas donde (dt:Columna 0 == g[1][i] y dt:Columna 1 == g[2][i]);
dt:Columna 3[r] = Concat Elementos( dt:Columna 2[r], "_" );
);
nt = dt << Resumen( Grupo( :Columna 0, :Columna 1, :Columna 3 ) );
muy útil 
Hasta ahora, usé Split para ordenar las entradas, combinarlas y fusionarlas de nuevo en la tabla principal:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
<BR />//--------
dt << new column ("rank", Formula( Col Rank( :name, :age ) ));
// put names next to each other, grouped by age
DTsplit=dt<< Split(
Split By( :rank),
Split( :name ),
Group( :age )
);
// Combine columns to a linge column
DTsplit << Combine Columns(
columns(
:"1"n, :"2"n, :"3"n, :"4"n, :"5"n, :"6"n, :"7"n, :"8"n, :"9"n, :"10"n,
:"11"n, :"12"n
),
Column Name( "allNames" ),
Delimiter( "," )
);<BR /><BR />//-----
// Update data tables
dt<< Update(
With( DTsplit ),
Match Columns( :age = :age ),
Add Columns from Update Table( :allNames ),
Replace Columns in Main Table( None )
);Llegar:

Si Summarize tuviera una opción para concatenar cadenas, toda la parte entre //---- podría reemplazarse por un simple Summarize.