CIAO,
I have the following input data table, attached input_table.jmp, which is treated by my script, see below or attached script_di_analisi_dopo_l'importazione.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,
. Invece lo converte in
"
<MM>
.
</MM>
-
.
<YY>
<HH>
:
<MM>
:
<SS>
"
</SS>
</MM>
</HH>
</YY>
Dalla riga 2657 in poi. Pertanto, la durata tra la riga 2656 e la 2657 è di un mese anziché di 10 secondi. La tabella dati difettosa è allegata come bugged.jmp.
Hai idea di cosa ci sia che non va?
Utilizzo Windows 10, JMP 18 e JMP 18 Pro.
Grazie!
sceneggiatura:
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>
Automazione e scriptingFinestre
Penso che il problema possa verificarsi perché stai concatenando i messaggi di formattazione. Il passaggio a Numerico avverrà prima del Formato di input, che a sua volta avverrà prima del Formato -> JMP deciderà il formato da utilizzare quando la colonna viene modificata in Numerico. Puoi riordinarli OPPURE inviarli contemporaneamente, soprattutto quelli relativi al tipo di dati.
Invece di
usa qualcosa come
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>
Grazie per la risposta rapida!
Capisco il problema e le soluzioni da te suggerite funzionano.
Grazie!