Re: ¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?No estoy seguro de entender completamente lo que estás tratando de hacer. Como ejemplo específico, ¿está tratando de determinar el número de hombres de 13 años en la tabla de datos y ponerlo en una columna sin crear la columna de concatenación de edad y sexo? Si eso es lo que quieres, creo que esta columna de fórmula funcionaría:

Tenga en cuenta que esta fórmula solo cuenta el número de entradas que no faltan en la tabla de datos. En este caso, elegí contar el número de entradas no faltantes para la columna Nombre por edad y sexo. No se necesita una columna intermedia o una nueva tabla.
Re: ¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?No he probado este código, pero debería ver al menos el enfoque que estoy tomando, y el enfoque funcionará.
Names Default To Here( 1 );
dtBig = Data Table( "Big Class" );
dtSmall = Data Table( "Big Class By (age, sex)" );
dt << New Column( "N Rows" );
For( i = 1, i <= N Rows( dtSmall ), i++,
foundRows = dtBig << get rows where(
Substr( :agesex[i], 1, Length( :agesex[i] ) - 1 ) == :age & Substr( agesex[i], -1 ) == :sex
);
If( N Rows( foundRows ) > 0,
dtBig:N Rows[foundRows] = dtSmall:N Rows[i]
);
);
Re: ¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?Gracias Jim!
El código no se ejecutó.

Re: ¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?Bueno, JMP no puede encontrar la pequeña tabla de datos. Por lo que pude ver en su presentación principal, el nombre de la tabla de datos para la tabla de datos pequeña se llamó "Big Class by (age, sex)". O ese no es el nombre correcto, o esa tabla de datos ya no existe. Simplemente cambie los nombres de las referencias de la tabla de datos a la tabla en la que desea ejecutar el script y ejecútelo.Re: ¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?Lo he modificado varias veces, pero aún no tengo solución.
Anímate y pide tu ayuda. ¡Gracias Jim!Re: ¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?Prueba esto
names default to here(1);
// Create the 2 Example data tables
dtBig = open("$SAMPLE_DATA/big class.jmp");
dtSmall = New Table( "Data agesex",
Add Rows( 12 ),
New Column( "agesex",
Character,
"Nominal",
Set Values(
{"12F", "12M", "13F", "13M", "14F", "14M", "15F", "15M", "16F", "16M",
"17F", "17M"}
)
),
New Column( "N Rows",
Numeric,
"Continuous",
Format( "Fixed Dec", 12, 0 ),
Set Values( [5, 3, 3, 4, 5, 7, 2, 5, 2, 1, 1, 2] )
)
);
// Create the new column
dtBig << New Column( "N Rows" );
// Move the data as required
For( i = 1, i <= N Rows( dtSmall ), i++,
foundRows = dtBig << get rows where(
Num( Substr( dtSmall:agesex[i], 1, Length( dtSmall:agesex[i] ) - 1 ) ) == :age &
Substr( dtSmall:agesex[i], -1 ) == :sex
);
If( N Rows( foundRows ) > 0,
dtBig:N Rows[foundRows] = dtSmall:N Rows[i]
);
);Re: ¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?Gracias Jim!
dtSmall
dtBig = Open( "$SAMPLE_DATA/big class.jmp" );
dtSmall = dtBig << Summary(
Group( :age, :sex ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 ),
statistics column name format( "column" )
);
c1 = Column( 1 ) << Get Name;
c2 = Column( 2 ) << Get Name;
dtSmall << Add Multiple Columns( c1 || c2, 1, after( As Column( 2 ) ), Character, "Nominal" );
Wait( 0 );
Column( 3 ) << Formula( Char( :age ) || :sex );
dtSmall << run formulas;
Column( 3 ) << deleteFormula;
dtSmall << delete columns( 1 :: 2 );
¿Se pueden obtener datos coincidentes directamente sin columnas auxiliares?Por ejemplo, use la columna "edad" y las combinaciones de columna "sexo" de "Big class.jMP" para generar nuevos nombres de columna en otra tabla.
¿Cómo hacer coincidir los datos de otra tabla directamente a través de la columna "edad" y "sexo" sin agregar una columna auxiliar en la tabla grande?
¡Gracias!
Scripting