导入带有日期列的数据集时,该列将是数字且连续的,如果输入日期格式不正确,则那些无法解析的值将设置为丢失,因此不会再有机会设置输入格式。您通常在探索性/图形用户界面分析中如何处理此问题?
我有时候
- 在转换为数值之前复制列
- 创建一个新的公式列以解析日期
为了演示该问题,请运行此代码以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的最终缺失值归因于输入格式。
缺少结果从“ 113/13/2021 12:23:50 AM”开始在第113行附近。 “ d / m / yh:m”输入格式将其解释为第13个月,这是无效的。

当转换中有错误时,改回格式不会削减它,因为基础值已更改。 缺少的值不再保存有效的时间值。 请使用“编辑”下的“撤消”。
谢谢@peng_liu ,
是的,这完美地描述了问题。有时,前几行似乎可以正确解析,而用户不希望向下滚动以查看表中的下一行是否设置为丢失,或者大多数值都可以正确解析,但其中有几行由于数据输入问题而无法正确解析。我希望找到一种不同的方法来帮助用户解析日期,以便他们不太可能在数小时或数天后才发现缺少值。
我通常只是创建自定义公式来解析日期。
我想到了一个选项,如果您先将其更改为 Numeric、Nominal 和最好的事物作为格式。 我认为这会让 JMP 确定正确的格式,并在可能的情况下将其设为数字。 将其设为数字后,您可以返回格式设置并选择所需的格式。