JMP 12.2
我想了解这个数字的含义,最重要的是如何删除/修改它。我想避免重复列,因为这些表非常大,需要快速操作。
下面的“字符”一词后面显示的数字“ 19”(数字可以不同,我只是选择19作为示例):
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
)一旦生成了表格,我将如何尽快摆脱“(19)”?
我试过了:
:Column1 << Data type( Character );
:Column1 << Data type( Character() );<BR />:Column1 << Data type( Character(0) );
我可以使用GetScript()查看它,而不能使用ShowProperties()查看它。
您可能会说它是良性的,通常我不担心这个数字,但是我发现了一种情况,即Join变得错误并带有适当的数字(或者这个数字可能会影响Joins)。
您的问题使我感到困惑。 自1990年代以来,我一直在使用JMP,并且不记得曾经遇到过“ Character(x)”。 所以我做了一些调查。 使用此符号的大多数参考是从提供列宽信息到.txt文件或OLE应用程序的读入。 脚本指南中的“添加多列”有一个参考。 但是,在查看脚本索引中“添加多列”的语法时,它指的是使用一个称为“ fieldwidth(number)”的元素,而不是在Character的数据类型指定之后使用(number)。 据我所知,它只是设置了要创建的列的最小宽度。 由于JMP字符值/列是动态的,并且长度可以从0到十亿个字符,因此我建议您在编码中,在定义新的数据类型为Character的列后,不要再使用宽度规范。
现在,如何摆脱最小宽度。
我发现,如果您为指定宽度上的有效长度分配字符值,则JMP会删除宽度规范。
所以给你的例子
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
);
检索数据表脚本返回
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1",
Character( 19 ),
"Nominal",
Set Values( {"Hello World"} )
)
)
如果运行以下JSL,该JSL获取数据表中第一行的值,并为第一行分配一个冗长的值,然后最终使用此代码将原始值替换回
holdValue = :Column1[1];
:Column1[1] = repeat("a",500);
:column1[1] = holdValue;
检索到的表脚本是
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character, "Nominal", Set Values( {"Hello World"} ) )
)
宽度参考已删除。
所有这些都使用JMP 12.2进行了测试
这是我想出的消除字符宽度问题的方法。 其他一些社区成员可能有更好的方法。 我希望他们能做到!
是的,我很难找到有关数字含义的文档。我肯定不把它放在那里 似乎是自动生成的。
您的方法似乎可行,但我想知道是否有更优雅的方法来修改或删除它。
多谢您的协助!