Hallo,
I have the following input data table, attached input_table.jmp, which is treated by my script, see below or attached after_import_analysis_script.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,
. Es konvertiert es stattdessen in
"
<MM>
.
</MM>
-
.
<YY>
<HH>
:
<MM>
:
<SS>
"
</SS>
</MM>
</HH>
</YY>
Ab Zeile 2657. Daher beträgt die Dauer zwischen Zeile 2656 und 2657 einen Monat statt 10 Sekunden. Die fehlerhafte Datentabelle finden Sie im Anhang als bugged.jmp.
Irgendeine Idee, was hier nicht stimmt?
Ich verwende Windows 10, JMP 18 sowie JMP 18 Pro.
Danke!
Skript:
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>
Automatisierung und SkriptingWindows
Ich vermute, das Problem liegt möglicherweise daran, dass Sie die Formatierungsmeldungen verketten. Die Änderung auf „Numerisch“ erfolgt vor dem Eingabeformat, das wiederum vor dem Format erfolgt. JMP entscheidet über das zu verwendende Format, wenn die Spalte auf „Numerisch“ geändert wird. Sie können die Meldungen entweder neu sortieren oder gleichzeitig senden, insbesondere die Meldungen zum Datentyp.
Anstatt
verwenden Sie etwas wie
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>
Danke für die schnelle Antwort!
Ich verstehe das Problem und Ihre Lösungsvorschläge funktionieren.
Danke!