La declaración if no funciona en jslHola a todos.
¿Puedes comprobar cuál es el problema con mi declaración if? Quiero ejecutar varios comandos jsl en caso de que la condición sea verdadera (en mi caso, que el nombre del archivo de especificaciones sea el que está escrito en el código), pero no funciona.
Todo lo demás funciona bien, sólo la declaración if no.
Mi versión de JMP es la 18
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If( :SPECFILE == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" ) ;
,
If( :SPECFILE == "SMLA", Formula(
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
)
)
);
Gracias,
Reshef
VentanasRe: La declaración if no funciona en jslPodría ser suficiente si cambiaras : SPECFILE a SPECFILE ( : SPECFILE se referiría (normalmente) a una columna).
Re: La declaración if no funciona en jslHola.
¡Gracias! pero "SPECFILE" es de hecho una columna en mi tabla jmp.
De todos modos, lo probé y no funciona.
¿Tal vez sea lo que separa los comandos jsl en mi declaración IF?
O tal vez ¿es imposible ejecutar varios comandos jsl en una declaración IF?
Gracias,
Reshef
Re: La declaración if no funciona en jslLuego, debe definir la fila (Row() = 1; por ejemplo) o recorrer las filas de su tabla utilizando For Each Row. La fila "predeterminada" en JMP es 0, que no es una fila válida.
Re: La declaración if no funciona en jslSi lo que estás intentando hacer es mirar el valor de la fila 1 en la columna "SPECFILE" y luego tomar decisiones en función de él, el JSL a continuación será lo que necesitas.
Names Default To Here( 1 );
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If(
:SPECFILE[1] == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" );,
:SPECFILE[1] == "SMLA",
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
);