你好,
我為我的公司管理一個插件,所有數據都通過我們自動化團隊擁有的命令行實用程序導入 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 列?