¿Cómo cambio el formato de columna en JSL o trato con el error Enviar espera objeto programable?Estoy trabajando para unir (2) tablas en un script JSL.El problema que tengo es guardar las tablas recién unidas.Hay (2) problemas.
El primer problema es que las columnas de datos de (Test2) ingresan a JMP como caracteres/nominales y deben ser numéricas/continuas.Cuando cambio o creo el formato de columna de la hoja de cálculo de Excel a numérico, aparece el siguiente error en el dt3 <
Send Expects Scriptable Object en acceso o evaluación de 'Send', dt3 << /*###*/save as("B:\JoinTest1_2.jmp") /*###*/
Cuando trato de formatear el formato de columna de la tabla de datos JMP en JSL, aparece el mismo error durante la instrucción Guardar como.
He buscado esto durante horas y simplemente no puedo resolverlo.
Aquí está mi código.Cualquier ayuda sería muy apreciada.
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp",
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>Re: ¿Cómo cambio el formato de columna en JSL o trato con el error Enviar espera objeto programable?Le sugiero encarecidamente que adquiera el hábito de ir al índice de secuencias de comandos para obtener la descripción y ejemplos de las diferentes funciones que está utilizando.
Ayuda==>Índice de secuencias de comandos
O simplemente para obtener una descripción, una vez que escriba el nombre de una función, con el "(" inicial, puede pasar el cursor sobre el nombre de la función y se mostrará una descripción de la función
Re: ¿Cómo cambio el formato de columna en JSL o trato con el error Enviar espera objeto programable?Eso funcionó como un campeón, por lo que el número de columna es la sintaxis correcta, no el nombre de la columna. Bah, debería haber sido capaz de averiguarlo.
¡Gracias!Re: ¿Cómo cambio el formato de columna en JSL o trato con el error Enviar espera objeto programable?Ok, me topé con una solución parcial, la hoja de cálculo para dt1 y dt2 tiene datos de caracteres y datos numéricos, aunque ambos archivos de Excel están formateados como "General" en Excel, por alguna razón a la tabla dt2 no le gusta eso y me obligó a formatear las columnas numéricas como datos de "número".
Entonces, hay una solución, sin embargo, me gustaría saber por qué el script no parece funcionar cuando se cambian los parámetros mediante programación.Re: ¿Cómo cambio el formato de columna en JSL o trato con el error Enviar espera objeto programable?Creo que veo el problema.cuando especificas
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>
JMP está buscando una columna llamada "Columna1"... Sí... Excel establecerá los nombres de columna de la tabla de Excel, porque se especifica en la definición de cómo leer el archivo de Excel
Has Column Headers( 1 )
Entonces, si desea cambiar el tipo de datos, etc. usando la posición de la columna, debe especificar
column(dt2,1) << data type(Numeric)<<MODELING type=""></MODELING>
Re: ¿Cómo cambio el formato de columna en JSL o trato con el error Enviar espera objeto programable?Sí, tiene razón, dt2 es un archivo de Excel, lo siento, este código es genérico para lo que estoy haciendo con los archivos reales.
tengo dos columnas que tienen el mismo título (ID de muestra).
El código funciona de la misma manera, al abrir dt2, las columnas de datos no son numéricas/continuas y si trato de cambiar los parámetros de la columna en el script, aparece el error anterior. ¿Cómo interpreta JMP los datos de Excel con un encabezado de columna? ¿Podría estar usando el texto en el encabezado de columna para establecer los parámetros?Re: ¿Cómo cambio el formato de columna en JSL o trato con el error Enviar espera objeto programable?Hay un par de problemas que veo.No estoy seguro si dt2 está abriendo una tabla de datos .jmp o un archivo de Excel.Ha especificado que dt2 es un archivo .jmp, pero ha incluido especificaciones de Excel.
A continuación, la forma correcta del código "Por columnas coincidentes" debería ser: Columna1 =: Columna1... pero tal como está, si ambas columnas existen en las tablas de datos, entonces no debería haber ningún problema.
He agregado un par de declaraciones para garantizar que la tabla de datos dt3 exista tanto antes como después de cerrar las tablas de datos dt1 y dt2.
Ejecute el código y vea lo que ha impreso el registro de JMP
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp", // Is this a JMP table or an Excel..... the .jmp extension seems strange here
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>