我有一个数据表,其中包含从文本文件导入的一些数据,其中包含默认情况下具有数据类型 == 字符和建模类型 == 名义的列。 这些列包含数字,其中一些有小数点,一些小数点后面的数字。 我希望将这些列转换为 Numeric、Continuous、Engineering SI,但我遇到了一些奇怪的行为。 即,在某些情况下,包含小数点的列中的值将被删除(它们的值设置为“.”)。
我尝试了两种方法:
使用列信息手动更改列:
- 如果我将所有三个字段一次更改为 Numeric、Continuous、Engineering SI,然后单击“应用”,则包含小数点的值将重置为“。”
- 如果我在更改每个字段后按“应用”(总共 3 次),那么值的格式正确并且一切正常。
使用 JSL 更改列:(这是我真正想要做的)
我的代码一次设置所有三个字段:
dt = Current Data Table();
dt:ColumnName << Set Data type( "Numeric" ) << Set Modeling Type( "Continuous" ) << Set Format( "Engineering SI", 12, 5);
这会将 ColumnName 列中的所有值重置为“.”。 我也尝试过使用 column(dt, "ColumnName") 而不是 dt:ColumnName,并且一次只设置一个字段,但结果是一样的。 代码似乎运行良好。 它确实将“Scriptable []”写入终端,但我无法找出这意味着什么。