Re: Cómo ejecutar una parte de un script o incluir un script basado en una condiciónCreo que el problema que tiene es intentar pasar la instrucción If() a la tabla de datos.Lo que debería funcionar es
dt = Data Table( "Data" );
If ( PRODUCT == "A", include("C:\....\Script1.jsl"), include("C:\....\Script2.jsl"), );Re: Cómo ejecutar una parte de un script o incluir un script basado en una condiciónHola Nelson,
He probado eso también. Eso tampoco está funcionando.
Re: Cómo ejecutar una parte de un script o incluir un script basado en una condiciónCreo que podríamos necesitar un poco más de información sobre lo que está tratando de hacer y cuáles son las partes "externas". Incluir () y las expresiones deberían funcionar bien si solo está ejecutando partes de algún código.
Names Default To Here(1);
exprA = Expr(Show("A"));
exprB = Expr(Show("B"));
PRODUCT = "B";
If(PRODUCT == "A",
exprA;
,
exprB;
);Re: Cómo ejecutar una parte de un script o incluir un script basado en una condiciónEjecuté este código sin error.
Names Default To Here( 1 );
b = 1;
If( b == 1,
Include( "path to one of the includes" ),
Include( "path to the second include" )
);
El primer código de inclusión fue
a=1;
show(a);
El segundo código incluido fue:
a=2;
show(a);
y funcionó como se esperaba
Como @jthi ha sugerido que probablemente necesite proporcionar más información sobre las inclusiones.
Re: Cómo ejecutar una parte de un script o incluir un script basado en una condiciónHola @txnelson y @jthi ,
En realidad, ambos códigos suyos funcionan bien (y, de hecho, mi propio método también funciona). El problema fue con la sesión de JMP.Después de algunos intentos más, mi JMP falló y me di por vencido. Hoy, después de reiniciar el JMP, el mismo código funciona bien. Creo que puede ser el mismo problema de memoria/caché/ruta/variables con la sesión JMP. Una vez que se reinicia, funcionó bien.
Estoy muy agradecido por el apoyo de ambos.
traseros, HSS
Re: Cómo ejecutar una parte de un script o incluir un script basado en una condiciónSucede de vez en cuando. Si aún no lo ha hecho, le sugiero que comience todos sus scripts con
Names Default To Here(1);
Le proporcionará cierta protección contra colisiones de espacios de nombres. Este enlace es bastante útil con respecto a los nombres predeterminados aquí (1) (hay varias páginas) Guía de secuencias de comandos > Métodos de programación > Alcance avanzado y espacios de nombres (jmp.com)
Re: Cómo ejecutar una parte de un script o incluir un script basado en una condiciónGracias Jarmo,
aprendí usando
Names Default To Here(1);
de Nelson ( @txnelson ) hace unos años y lo uso. Voy a echar un vistazo a la guía de nuevo.
Gracias chicos.
Cómo ejecutar una parte del script o incluir un script basado en una condiciónHola a todos,
Estoy tratando de ejecutar una parte de un script basado en la condición de una columna. Si esa condición falla, debe ejecutar otra parte del script o incluir otro script.
Parece muy simple pero no soy capaz de hacer eso. He seguido dos enfoques: usar la función "incluir" para llamar a un script y la función "Expr" para llamar a una parte del código. Ninguno está funcionando. ¿Alguna ayuda aquí?
1er enfoque -
dt = Data Table( "Data" ) << If ( PRODUCT == "A", include("C:\....\Script1.jsl"), include("C:\....\Script2.jsl"), );
Esto no funciona mientras los scripts 1 y 2 funcionan de forma independiente.
El segundo enfoque es similar al primero pero usa "Expr", de la manera mencionada en - Código de seccionamiento o segmentación en JSL
Muchas gracias,
Automatización y secuencias de comandos