保持前导零我的数据集中的列之一是员工 ID。 所有员工 ID 的长度均为 8,并以前导零开头。 当我打开包含数据的 Excel 文件时,JMP 似乎删除了那些前导零。 有没有办法让 JMP 不这样做? 或者它与该列在 xlsx 文件中的存储方式有关吗?
我尝试使用我在这里找到的代码将它们添加回来,但它为第一行添加了它们,然后将每个其他行的每个字符更改为 0。 任何帮助是极大的赞赏。
回复:保持前导零@马克贝利已经给出了最好的解决方案。但是,如果 JMP 中已有一个或多个数据表的 ID 列值不正确,则下面是一个非常简单的脚本,可用于转换这些值
Names Default To Here( 1 );
dt = Current Data Table();
// Change the ID column to character
dt:ID << set data type( character );
// Loop through each row adding in the missing leading zeros
For Each Row(
:ID = Substr( "00000000", 1, 8 - Length( :ID ) ) || :ID;
);
只需将对 :ID 的引用替换为列的实际名称
回复:保持前导零听起来数字代码只是一个标签或类别 (ID),因此您可以将其保留为字符数据。 使用 Excel 导入向导预览窗格中的选项将默认解释(数字)更改为字符。
回复:保留前导零另一种方法:使用正确的()函数并加上填充值:

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
new column ("weight_8", Character, Formula(right(Char(:weight),8,"0")))