¿Cómo crear un bucle y agregar columnas en tablas de subconjuntos y agregar valor según el valor de una columna específica?Hola a todos, tengo un subconjunto de tabla.
Tengo dos preguntas.
1. ¿Cómo puedo crear un bucle que agregue la columna "Ref" a cada tabla de subconjunto?
2. Además, ¿es posible que el valor de la columna creada se base en el número más alto de N filas con un valor específico?
Por ejemplo, la nueva columna que se agregará será Ref . El valor de la columna Ref. se basará en el país de la columna, donde debe agregar 1 al valor de N filas más alto de América únicamente.
| País | N filas | Árbitro |
| Argentina | 4 | |
| America | 0 | |
| America | 5 | 1 |
| Brasil | 2 | |
| Brasil | 4 | |
| Canadá | 2 | |
AMAR
Automatización y scriptingVentanasRe: ¿Cómo agregar columnas en tablas de subconjuntos y agregar valor según el valor de una columna específica?No estoy seguro de cuál es su definición de "subconjunto de columnas". ¿A qué se refiere? Las tablas de datos creadas a partir de
Tablas=>Subconjunto
cuando se marca Subconjunto por

¿Y se hace una tabla separada para cada nivel de la(s) variable(s) seleccionada(s)?
Re: ¿Cómo agregar columnas en tablas de subconjuntos y agregar valor según el valor de una columna específica?Después de haber subconjunto la tabla, ¿cómo puedo crear un bucle para agregar una columna "Ref" en todas las tablas subconjunto?
*Reformularé la pregunta
Re: ¿Cómo agregar columnas en tablas de subconjuntos y agregar valor según el valor de una columna específica?A continuación se muestra un ejemplo de una forma de realizar el bucle. El verdadero problema es cómo lograr que la lista de tablas se repita en bucle. Este ejemplo supone que
Tablas=>Subconjunto
con un subconjunto de se utilizó
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dtSubsetList = dt << Subset(
By( :sex ),
All rows,
Selected columns only( 0 ),
columns( :name, :age, :height, :weight )
);
for each( {table}, dtSubsetList,
table << new column( "Ref");
wait(0);
table:ref[table << get rows where( :age == col max(:age))]=1;
);Re: ¿Cómo agregar columnas en tablas de subconjuntos y agregar valor según el valor de una columna específica?¿Qué sucede si mis datos se ven así? La columna País está en tipo de carácter, ¿cómo puedo obtener sus N filas más altas? Suponiendo que estoy obteniendo las N filas más altas de Estados Unidos. Según el ejemplo que ha proporcionado, creo que está en tipo de datos numéricos.
| País | N filas | Árbitro |
| Argentina | 4 | |
| America | 0 | |
| America | 5 | 1 |
| Brasil | 2 | |
| Brasil | 4 | |
| Canadá | 2 | |
Re: ¿Cómo agregar columnas en tablas de subconjuntos y agregar valor según el valor de una columna específica?Supongo que algo similar a esto será lo que necesitas.
table:ref[table << get rows where( :Country == "America" & :N Rows == col max(:N Rows, :Country))]=1;
Te sugiero que te tomes el tiempo de leer la Guía de programación para aprender JSL. Si no estás familiarizado con la programación y al menos con un lenguaje de programación, te sugiero que busques en Internet un curso gratuito sobre "Aprende a programar".