如何将当前文件名存储为新变量中的条目假设我们打开了 city.jmp。
我怎样才能将“城市”的名称(双关语)作为新变量的条目,例如“MY_NAME”。
因此,变量“MY_NAME”包含多个“城市”实例。 从本质上讲,它必须是字符,并且“MY_NAME”不是变量,而是常量。
无论如何,知道如何做到这一点吗?
我知道有一个文件功能。 获取姓名。 但是,到目前为止,我还没有成功地将条目实际存储在 MY_NAME 中。
提前致谢,
还是新手
回复:如何将当前文件名作为新变量中的条目为了说明在 JMP 中通常有多种方法可以实现解决方案,这里有一个变体@杰夫·珀金森例子
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dtname = dt << get name();
dt << New Column( "Data Table Name", character, set each value( dtname ) );
回复:如何将当前文件名存储为新变量中的条目我认为我们对术语产生了混淆。 在 JMP 数据表中,我们称它们为列,而不是字段或变量(或常量)。 所以,当你问如何创建一个多变的对于“城市”,假设您指的是 JSL 变量。
现在,您似乎确实希望数据表中有一列,每一行中都有数据表的名称。
你已经看过了,感谢@tx尼尔森,即<<获取名称()消息将为您提供数据表的名称。
现在您需要使用以下命令在数据表中创建一个新列<<新列()信息。 在 New Column() 中,您可以使用 Set Values() 来设置每行的值。
所以,现在我们只需要一个值列表。 我们可以使用重复()功能。
整个事情看起来是这样的:
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dtname = dt << get name();
dtname_list = Repeat( {dtname}, N Row( dt ) );
dt << New Column( "Data Table Name", character, set values( dtname_list ) );
还有其他方法可以将值放入列中。 我们可以使用一个公式,其中“公式”只是一个常量字符串,但 JSL 中的语法有点令人困惑,因为我们需要在计算 JSL 表达式时进行处理(想想 SAS 中的宏引用;这不是您需要的地方)希望新人开始。)
现在,说了这么多,在数据表的所有行中都需要数据表名称的情况并不多,因为 JMP 会在方便的情况下创建这样的列。 例如,当连接数据表,有一个选项可以创建一个列,其中包含每行所来自的表的名称。

其他表操作命令也有类似的选项。 因此,也许您可以告诉我们您正在尝试做什么,您认为您需要本专栏,我们也许能够为您提供进一步的帮助。
回复:如何将当前文件名作为新变量中的条目我现在没在工作...
就这样?
新字段 MY_NAME 将在每一行中包含“城市”?
等不及要回去工作了:)
回复:如何将当前文件名作为新变量中的条目此代码将数据表名称放入 JSL 变量中
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/cities.jmp" );
MY_NAME = dt << get name;
Show( MY_NAME );