¿El script se ejecuta de manera diferente en otra computadora?El siguiente escenario: tengo un colega en el extranjero para quien escribí un guión. Es un script que carga datos de una base de datos, organiza los datos en una tabla y coloca un script de tabla para controlar los gráficos en la tabla. La tabla contiene algunos productos/procesos diferentes y este script de tabla está dirigido sólo a uno de ellos (es decir, una pequeña fracción de todas las filas). Cuando ejecuto los scripts principal y de tabla en mi computadora, funcionan a la perfección. Cuando mi colega en el extranjero los ejecuta (y vi esto en su pantalla durante una llamada de telecomunicaciones), obtiene la tabla de la base de datos correctamente y el script de la tabla se ejecuta, pero falla enormemente con respecto a la selección de fila que se supone que representa en el tabla de control. Está utilizando cientos, si no miles, de filas irrelevantes del subconjunto incorrecto.
En el script de la tabla, no estoy usando "Nombres predeterminados aquí (1);". Mi colega tiene instalada una versión de JMP diferente (17.0 frente a 17.2), lo cual no esperaba que importara. Como primera respuesta, envié una copia de mis preferencias exportadas usando el Administrador de preferencias (con importación/exportación) , lo que no ayudó a la resolución.
Luego me envió una copia de su tabla y cuando inspeccioné el script de la tabla, descubrí una pequeña diferencia en el aspecto del script de la tabla cuando ejecuto el script desde la parte superior de mi computadora:
En mi computadora:

En la computadora de mis colegas:

Sin embargo, cuando ejecuté el script de la tabla (es decir, la versión inferior) en la copia de la tabla que él había generado y enviado por correo electrónico en mi computadora, el script de la tabla se ejecutó tal como estaba previsto. Por desgracia, no entiendo por completo lo que está pasando aquí.
¿Qué podría haber en el fondo de esto? ¿Cómo podemos solucionarlo y evitar este problema en el futuro? ¿Alguna mejor práctica? ¡Gracias!
Automatización y secuencias de comandosRe: ¿El script se ejecuta de manera diferente en otra computadora?Definitivamente puede haber diferencias entre las versiones de mantenimiento de JMP que podrían causar todo tipo de diferencias/problemas.
¿El script funciona correctamente para su colega si separa el script del script de la tabla, agrega nombres predeterminados aquí (1) al inicio del script y lo ejecuta desde una ventana de script separada?
Re: ¿El script se ejecuta de manera diferente en otra computadora?-Las diferencias de formato de datos locales realmente pueden arruinar una consulta. (Esto podría estar determinado por el sistema operativo localmente)
-Las diferencias de versión desde la v14 rara vez causan problemas.
-Si tiene una computadora y una conexión de base de datos más nuevas y más rápidas, y su universidad tiene una computadora muy lenta y una mala conexión de red a la base de datos, eso podría ser un problema. (quizás tenga que agregar algo de espera(); o dt<
Re: ¿El script se ejecuta de manera diferente en otra computadora?
es causado por mensajes de objetos desconocidos de color:

En general, la configuración es muy útil, si acepta que algunos "conocidos" también se coloreen.
La desventaja de los mensajes "desconocidos": no es posible abrir el índice de Scripting mediante

Re: ¿El script se ejecuta de manera diferente en otra computadora?@jthi , el problema es el mismo cuando le pedí a mi colega extranjero que siguiera el procedimiento de diagnóstico que usted propuso.
@Byron_JMP , tal como lo veo durante nuestras videoconferencias, el script inicial se ejecuta aproximadamente tan rápido como en mi ubicación. También supongo que todas las computadoras portátiles de nuestra empresa tienen especificaciones relativamente similares. Lo que es confuso es que cuando mi colega me envía un correo electrónico con la tabla inicial que obtuvo del primer script o "principal" y ejecuto el script de la tabla en él, hace exactamente lo que esperaba que hiciera. Entonces tal vez la velocidad de la línea no sea el problema.
@hogi No tengo esta configuración activada, por lo que en mi caso (y tomé las capturas de pantalla en mi computadora desde mi instalación de JMP) parece como si el editor de secuencias de comandos en sí solo estuviera codificando con colores un mensaje como una variable si hay una línea. salto entre "<<" y "mensaje", mientras que se ejecuta de la misma manera con y sin salto de línea entre "<<" y "mensaje" completamente independiente del código de color.
Sin embargo, creo que he reducido un poco el tema. A continuación copié lo que quiero que haga el script de la tabla, cómo se ve en mi instalación de JMP y qué parece estar haciendo en la máquina de mi colega.
// what i want the table script to do
Data Table( "table_1" ) << Clear Selection;
Data Table( "table_1" ) << Clear Column Selection;
Table_2 = Data Table( "table_1" ) << Subset(
Filtered Rows(
Contains( :Category_1, "some_category" ) & Contains( :Category_2, "some_other_category" )
)
);
Table_3 = Table_2 << Split(
Split By( :Col_1, :Col_2 ),
Split( :Col_3 ),
Group( :Col_4, :Category_1, :Category_2 ),
Output Table( "table_3" ),
Remaining Columns( Drop All ),
Sort by Column Property
);
// what the table script looks like on my computer
// it does exactly the same as the above version, despite the line break before 'Subset'
Data Table( "table_1" ) << Clear Selection;
Data Table( "table_1" ) << Clear Column Selection;
Table_2 = Data Table( "table_1" ) <<
Subset(
Filtered Rows(
Contains( :Category_1, "some_category" ) & Contains( :Category_2, "some_other_category" )
)
);
Table_3 = Table_2 << Split(
Split By( :Col_1, :Col_2 ),
Split( :Col_3 ),
Group( :Col_4, :Category_1, :Category_2 ),
Output Table( "table_3" ),
Remaining Columns( Drop All ),
Sort by Column Property
);
// what it appears to be doing on my colleagues computer
Data Table( "table_1" ) << Clear Selection;
Data Table( "table_1" ) << Clear Column Selection;
Data Table( "table_1" ) << Split(
Split By( :Col_1, :Col_2 ),
Split( :Col_3 ),
Group( :Col_4, :Category_1, :Category_2 ),
Output Table( "table_3" ),
Remaining Columns( Drop All ),
Sort by Column Property
);
¿Quizás la solución sea modificar el script de la tabla de esta manera?
// a solution to be tested?
Data Table( "table_1" ) << Clear Selection;
Data Table( "table_1" ) << Clear Column Selection;
Wait(); // this would be the new part per Byron's suggestion
Table_2 = Data Table( "table_1" ) << Subset(
Filtered Rows(
Contains( :Category_1, "some_category" ) & Contains( :Category_2, "some_other_category" )
)
);
Table_3 = Table_2 << Split(
Split By( :Col_1, :Col_2 ),
Split( :Col_3 ),
Group( :Col_4, :Category_1, :Category_2 ),
Output Table( "table_3" ),
Remaining Columns( Drop All ),
Sort by Column Property
);
¿Qué opinas? Muchas gracias por su ayuda hasta ahora y también por cualquier comentario adicional que pueda tener. En caso de que descubra cuál es el problema, definitivamente lo publicaré aquí.
Re: ¿El script se ejecuta de manera diferente en otra computadora?Yo sugeriría agregar Wait(0); en lugar de Wait() ya que Wait() tendrá un valor predeterminado de 3 segundos.

También puede cambiar las filas filtradas para obtener filas donde (al menos podría facilitar la depuración)
rows_of_interest = Data Table("table_1") << Get Rows Where(Contains(:Category_1, "some_category") & Contains(:Category_2, "some_other_category"));
Table_2 = Data Table("table_1") << Subset(
Rows(rows_of_interest)
);Re: ¿El script se ejecuta de forma diferente en otra computadora?¡Muchas gracias @jthi ! Agregar "wait(0)" por sí solo no funcionó. Usar tu enfoque "rows_of_interest" resultó exitoso. Todavía lo encuentro extraño.
@Byron_JMP , @hogi : para su información y gracias por hacer sugerencias.