你好,
我为我的公司管理一个插件,所有数据都通过我们自动化团队拥有的命令行实用程序导入 JMP。 我的插件将用户请求转换为格式化命令并在后台发出命令。 数据在用户系统上以文本文件的形式返回。 然后我的插件可以从文本文件中加载数据。
我遇到的问题是列根据用户请求而有所不同。 但是,每个表都有一个始终存在的 DATE(格式:YYYYMMDD)和 TIME(格式:HHMMSS)列。 我还没有找到打开文本文件的方法,在该文件中我为某些列指定格式,但让 JMP 为其余列解释数据类型。
当前的实现要求我将 DATE 和 TIME 列转换为字符类型,将时间格式化为带有前导 0 的 HHMMSS,然后循环遍历表以将 DATE 列解析为日期并转换 HH、MM 和 SS 部分到几秒钟,以便我可以将它们添加到 DATE 部分。
dt = Current Data Table();
:DATE << Data Type(character);
:TIME << Data Type(character);
:TIME << Set Each Value(Repeat("0", 6-Length(:TIME))||:TIME);
dt << New Column("DATETIME");
:DATETIME << Format("m/d/y h:m:s");
For Each Row(
:DATETIME[Row()] = Parse Date(:DATE[Row()], "YYYYMMDD") +
In Hours(Num(Substr(:TIME[Row()], 1, 2))) +
In Minutes(Num(Substr(:TIME[Row()], 3, 2))) +
Num(Substr(:TIME[Row()], 5))
);
有没有更简洁的方法可以将 DATE 和 TIME 列加入单个 DATETIME 列?