Hola,
I have the following input data table, attached input_table.jmp, which is treated by my script, see below or attached script_de_análisis_posterior_a_la_importación.jsl. I want to convert col 1 (character, nominal, input format "
-
/
<MM>
/
<YY>
<HH>
:
<MM>
:
<SS>
"
</SS>
</MM>
</HH>
</YY>
</MM>) to Date (numeric, continuous, output format
"
-
.
<MM>
.
<YY>
<HH>
:
<MM>
:
<SS>
"
</SS>
</MM>
</HH>
</YY>
</MM>). However if I use my script then the conversion is wrong in the rows from 2656 to 2657,
. En cambio, lo convierte en
"
<MM>
.
</MM>
-
.
<YY>
<HH>
:
<MM>
:
<SS>
"
</SS>
</MM>
</HH>
</YY>
A partir de la fila 2657. Por lo tanto, la duración entre las filas 2656 y 2657 es de un mes en lugar de 10 segundos. Encuentre la tabla de datos con errores adjunta como bugged.jmp.
¿Alguna idea de qué está mal aquí?
Estoy usando Windows 10, JMP 18 y también JMP 18 Pro.
¡Gracias!
guion:
dt = Current Data Table();
// Column configuration
dt << Begin Data Update;
// Rename and configure columns using column numbers
Column(dt, 1) << Set Name("Date")
<< Data Type(Numeric)
<< Modeling Type("Continuous")
<< Format("Format Pattern", "
.
<MM>
.
<YY>
<HH>
:
<MM>
:
<SS>
", 17, 0 ) << Input Format( "Format Pattern", "
</SS>
</MM>
</HH>
</YY>
</MM>
-
/
<MM>
/
<YY>
<HH>
:
<MM>
:
<SS>
", 0 ); Column(dt, 2) << Set Name("minutes") << Formula((:Date-:Date[1]) / 60) << Format("Best", 12); Column(dt, 3) << Set Name("Temperature 1 [°C]"); Column(dt, 4) << Set Name("Temperature 2 [°C]"); Column(dt, 7) << Set Name("Target Temperature 1 [°C]"); Column(dt,
8)</img> << Set Name("Target Temperature 2 [°C]"); // Remove unused columns dt << Delete Columns({"Col 5", "Col 6"}); dt << End Data Update; // Set display properties dt << Set Display Width("Date", 180); dt << Set Display Width("minutes", 50); dt << Set Display Width("Temperature 1 [°C]", 50); dt << Set Display Width("Temperature 2 [°C]", 50); Graph Builder( Size( 1239, 816 ), Variables( X( :minutes ), Y( :"Temperature 1 [°C]"n ) ), Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ), Method( "Local Kernel" ), Lambda( 0.000001 ), Local Width( 0.1284 ) ) ) );
</SS>
</MM>
</HH>
</YY>
</MM>
Automatización y scriptingVentanas
Creo que el problema podría deberse a que estás encadenando los mensajes de formato. El cambio a numérico ocurrirá antes que el formato de entrada, que a su vez ocurrirá antes que el formato. JMP decidirá el formato que se usará cuando la columna se cambie a numérico. Puedes reordenarlos o enviarlos simultáneamente, especialmente los relacionados con el tipo de dato.
En lugar de
usa algo como
Column(dt, 1) << Set Data Type(
Numeric,
Input Format("Format Pattern", "
/
<MM>
/
<YY>
<HH>
:
<MM>
:
<SS>
", 0), Format("Format Pattern", "
</SS>
</MM>
</HH>
</YY>
</MM>
.
<MM>
.
<YY>
<HH>
:
<MM>
:
<SS>
", 17, 0) ) << Set Modeling Type("Continuous") << Set Name("Date");
</SS>
</MM>
</HH>
</YY>
</MM>
Column(dt, 1) << Set Name("Date")
<< Data Type(Numeric)
<< Modeling Type("Continuous")
<< Input Format( "Format Pattern", "
<DL><DD>
/
<MM>
/
<YY>
<HH>
:
<MM>
:
<SS>
", 0 ) << Format("Format Pattern", "
</SS>
</MM>
</HH>
</YY>
</MM>
</DD>
<DD>
<CODE class=" language-jsl">.
<MM>
.
<YY>
<HH>
:
<MM>
:
<SS>
", 17, 0 );
</SS>
</MM>
</HH>
</YY>
</MM>
¡Gracias por la rápida respuesta!
Entiendo el problema y las soluciones sugeridas funcionan.
¡Gracias!