導入帶有日期列的數據集時,該列是數字且連續的,如果輸入日期格式不正確,則那些無法解析的值將設置為丟失,因此不會再有機會設置輸入格式。您通常在探索性/圖形用戶界面分析中如何處理此問題?
我有時候
- 在轉換為數值之前複製列
- 創建一個新的公式列以解析日期
為了演示該問題,請運行此代碼以m / d / y格式創建帶有某些日期的表,然後將該列設置為d / m / y格式,如下面的屏幕快照所示。
names default to here(1);
//Make a table with dates in m/d/y format
vals = index(today()-in days(100), today(), incr=in hours(1));
dt = New Table( "Example Data for Input Date Format",
Add Rows( n items(vals) ),
New Column( "Dates mdy",
Numeric,
"Nominal",
Format( "m/d/y h:m:s", 23, 0 ),
Input Format( "m/d/y h:m" ),
Set Values( vals )
)
);
dt << run formulas;
wait(1);
dt:Dates mdy << data type("Character");
現在,立即在列信息中設置所有值,並註意如何將某些數據設置為丟失,即使在將列改回字符後也是如此。

從Char到Num的最終缺失值歸因於輸入格式。
缺少結果的行開始於此“ 02/13/2021 12:23:50 AM”的第113行。 “ d / m / yh:m”輸入格式將其解釋為第13個月,這是無效的。

如果轉換中有錯誤,則更改基礎格式將不會削減它,因為基礎值已更改。 缺少的值不再保存有效的時間值。 請使用“編輯”下的“撤消”。
謝謝@peng_liu ,
是的,這完美地描述了問題。有時,最上面的幾行似乎可以正確解析,並且用戶不希望向下滾動以查看表中的較低行設置為丟失,或者大多數值都可以正確解析,但其中一些值由於數據輸入問題而無法正確解析。我希望找到一種不同的方法來幫助用戶解析日期,以便他們不太可能在數小時或數天后才發現缺少值。
我通常只是創建自定義公式來解析日期。
我想到了一個選項,如果您先將其更改為 Numeric、Nominal 和最好的事物作為格式。 我認為這會讓 JMP 確定正確的格式,並在可能的情況下將其設為數字。 將其設為數字後,您可以返回格式設置並選擇所需的格式。