你好,
I have the following input data table, attached input_table.jmp, which is treated by my script, see below or attached 导入后分析脚本.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,
。而是将其转换为
"
<MM>
.
</MM>
-
.
<YY>
<HH>
:
<MM>
:
<SS>
"
</SS>
</MM>
</HH>
</YY>
从第 2657 行开始。因此,第 2656 行到第 2657 行之间的时间间隔是一个月,而不是 10 秒。请查看附件 bugged.jmp 中的 bug 数据表。
知道这里出了什么问题吗?
我正在使用 Windows 10、JMP 18 以及 JMP 18 Pro。
谢谢!
脚本:
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>
自动化和脚本视窗
我认为问题可能是因为你串联了格式化消息。转换为数字格式会在输入格式之前发生,而输入格式又会在格式化之前发生 -> JMP 会决定列转换为数字格式时要使用的格式。你可以重新排序它们,或者同时发送它们,尤其是与数据类型相关的消息。
而不是
使用类似
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>
感谢您的快速回复!
我了解这个问题并且您建议的解决方案有效。
谢谢!