Desafío con scripts JMP: ejecutar la plataforma de distribución en un script secundario llamado usar IncludeDesde un script principal, estoy llamando a otro script con la instrucción Include. Este otro script, llamarlo script secundario, genera una salida que se agrega a la salida producida por el script principal. La salida del script secundario incluye la ejecución de la plataforma de distribución. La primera vez que ejecuto el script principal, la salida del script secundario se adjunta con éxito a la del script principal. La segunda vez que ejecuto el mismo script, después de cambiar una opción que no tiene nada que ver con la distribución, aparece el mensaje "No se reconoció un comando dentro del script de Distribución. No hay datos para analizar ", mensaje que creo que se genera si la variable de columna se pasa incorrectamente al código de Distribución. Aquí está mi código:
Ejemplo = Expr (c = Concat ( ":" , colY << Obtener nombre );
Evaluar ( Sustituir ( Expr ( rdist = Informe (ldist = Tabla de datos actual () << Distribución (
Distribución continua ( Columna (_columna_), Vertical ( 0 )
Distribución de ajuste (Registro normal (Curva de densidad ( 1 ))),
Distribución de ajuste (Normal (Curva de Densidad ( 1 ))),
), Sólo histogramas)))
Expr (_columna_),
Analizar gramaticalmente (do) )
));
El código se ejecuta bien cuando lo ejecuto en forma aislada de la secuencia de comandos principal.
¿Puede alguien ayudarme y decirme qué estoy haciendo mal? ¿Por qué funciona una vez, pero no la segunda vez?
Re: Desafío con scripts JMP: ejecutar la plataforma de distribución en un script secundario llamado usando IncluSi el código debería funcionar, entonces debe haber un problema con el contenido de una de las variables. Es difícil rastrearlo debido a las operaciones anidadas; puede intentar separarlo de esta forma:
c = Concat( ":", colY << Get Name );
show(c);
jsl = Substitute(
Expr(
rdist = Report(
ldist = Current Data Table() << Distribution(
Continuous Distribution(
Column( _col_ ),
Vertical( 0 ),
Fit Distribution( Log Normal( Density Curve( 1 ) ) ),
Fit Distribution( Normal( Density Curve( 1 ) ) ),
),
Histograms Only
)
)
),
Expr( _col_ ), Parse( c )
);
show(jsl);
Puede inspeccionar la variable jsl en la ventana de registro para asegurarse de que esté bien formada (si es así, si selecciona el texto, hace clic con el botón derecho y selecciona ejecutar script, debería ejecutarse correctamente).
Re: Desafío con scripts JMP: ejecutar la plataforma de distribución en un script secundario llamado usando IncluDice que el problema solo se produce cuando está utilizando un archivo de inclusión, en cuyo caso es posible que deba proporcionar un código de ejemplo que ilustre claramente el uso del archivo de inclusión. Respecto al código que has mostrado, parece un poco complejo:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
colY = "height";
ldist = dt << Distribution(
Continuous Distribution(
Column( Eval(colY) ),
Vertical( 0 ),
Fit Distribution( Log Normal( Density Curve( 1 ) ) ),
Fit Distribution( Normal( Density Curve( 1 ) ) ),
),
Histograms Only
);
rdist = ldist << Report;