Guardar script en problema de tabla de datosHola a todos,
He escrito una secuencia de comandos (unos cientos de líneas) que 1) abre una tabla de datos existente, 2) hace un montón de cálculos y luego 3) escupe una nueva tabla de datos con los resultados de estos cálculos. Debido a que estoy mejorando continuamente el script, quiero asegurarme de saber qué versión exacta del script se usó para crear la nueva tabla de datos de salida y, por lo tanto, pensé en guardar todo el script en la tabla de datos. Intenté usar NewDt << guardar el script en la tabla de datos, pero esto solo guardará como un script la línea que creó el NewDt, no el script completo. Idealmente, me gustaría guardar no solo el script, sino también la tabla de datos original a partir de la cual se creó NewDt. ¿Alguna sugerencia?
Saludos y gracias, Yves
Tabla de datosScriptingRe: problema al guardar script en la tabla de datosAquí hay un script simple que le mostrará una forma de hacer esto.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = dt << bivariate( x( :height ), y( :weight ) );
theScript = Char( biv << get script );
Eval( Parse( "\[dt<<NEW script=""></NEW>
Re: problema al guardar script en la tabla de datosGracias Jim, pero no creo que resuelva mi problema. Mi problema es más parecido al siguiente:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
m = dt << Get All Columns As Matrix();
Several lines of matrix algebra with the columns of m producing various vectors y1, y2, y3
dt2=as table(y1, y2, y3);
Quiero que todo el script anterior se guarde en dt2. Gracias de nuevo, Yves
Re: problema al guardar script en la tabla de datosEntonces, la pregunta es, ¿de dónde provienen los elementos del script que necesita juntar para construir la cadena literal que llamé, "theScript". Entonces, ¿de dónde viene lo que llamas el "guión completo"?Re: Problema al guardar el script en la tabla de datosAquí tienes un ejemplo sencillo de lo que tendrás que hacer para crear dicho script. Los componentes que no podrás obtener de JMP deberán añadirse al script a medida que lo construyes. Básicamente, simplemente lo concatenas sobre la marcha. Al terminar, lo añades a la tabla de datos.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt = current data table();
theScript = "\[dt = current data table(); ]\";
If( try( dt:ratio << get name,"") == "",
dt<
<NEW column=""></NEW>
<P>También usé un método donde primero construyo el script completo como una cadena literal y luego lo guardo como script. Después, ejecuto el script guardado, que genera los resultados.</P> <CODE class=" language-jsl">theScript = "\[
dt = current data table();
dt << bivariate( x(:weight), y(:height));
]\";
Eval( Parse( "\[dt<
<NEW script=""></NEW>