Generando columnas con un bucle forHola, trato de generar varias columnas con la siguiente línea de script JSL, pero al ejecutar el script, la tabla de datos está en blanco:
For(i=0,i<3,i++,New Column( "A", Numeric, Continuous, Format( "Best", 10 ), Set Values( [1, 2, 3, .] )))
¿Cómo se puede arreglar?
Re: Generar columnas con un ciclo forNuevamente, haga primero la tabla y luego agregue las columnas.Aquí hay un código que hace lo que quieres (creo):
Names default to here( 1 );
//Make the data table
dt = New Table( "Tokens",
Add Rows( 3 ),
New Column( "Visual_ID", Character, Nominal, Set Values( {"88", "89", "94"} ) ),
New Column( "FF", Character, Nominal, Set Values( {"Y83", "YA8", "654"} ) ),
New Column( "Bipping",
Character,
Nominal,
Set Selected,
Set Values(
{"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|17|18|18",
"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|18|18|18",
"19|18|18|18|17|18|16|18|18|19|21|19|19|18|18|17|16|16|17"}
)
)
);
//Then add columns to it.
For( ii = 1, ii<19, ii++,
dt << New Column ("My_Column_" || Char(ii),
Character,
Nominal,
Formula(
Word( ii, As Column( Column( "Bipping" ) ), "|" )
)
)
);Re: Generar columnas con un ciclo forPuedes mirar aquí por favor: https://community.jmp.com/t5/Discusiones/Loop-is-not-working/mp/77361#M36165
En el enlace de arriba intento hacer algo similar pero no funciona
Re: Generar columnas con un ciclo forLa sintaxis parece correcta, por lo que sospecho que el problema está en el contexto en el que lo está utilizando.Para que esto funcione, primero cree una tabla y luego agregue nuevas columnas.Para asegurarse de que las columnas se creen en la tabla correcta, haga una referencia a esa tabla y 'envíele' el mensaje Nueva columna, como se muestra a continuación:
Names default to here( 1 );
//Open a blank table and save a reference to it
dt = New Table( "New Table", Add Rows( 0 ) );
//Add columns to the table
For( i=0, i<3, i++,
dt << New Column( "A", Numeric, Continuous, Format( "Best", 10 ), Set Values( [1, 2, 3, .] ))
);