在1月16日将以下错误发送给JMP支持。 对此的回应是,已将这个问题发送给开发团队,以使其可能包含在将来的JMP版本中。 在我们的产品研究团队中,这种情况可能相当普遍,因为他们通常使用非常长的列名-列名越长,发生一次MS重新编码(例如,创建...字符)的可能性就越大。
您好JMP支持,
通常,我不会在列名下面创建数据表。 但是,在从MS Excel导入文件时,我遇到了这种情况,我将对其进行描述,因为我需要与正在以这种方式创建数据的其他人打交道。
假设我有以下简单表:
New Table( "untitled 727",
Add Rows( 0 ),
New Column( "Column with …",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [] )
)
)
然后,我创建以下非常简单的公式。

关注1。 如果我尝试通过双击公式的这一部分来编辑它,则“…”消失:
关注2。 如果我不尝试编辑公式的这一部分,而只是将公式保存到数据表中,那么一切似乎都很好。 但是,如果我随后使用JSL <<在数据表上获取脚本,或者使用红色三角形复制表脚本,则结果是:
New Table( "untitled 727",
Add Rows( 0 ),
New Column( "Column with …",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [] )
),
New Column( "Formula on dot dot dot column",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :Column with )
)
)
请注意,公式无法正确传输(点号点特殊字符不会出现)。
问题3:如果尝试使用<<获取公式在JSL中读取公式,则会得到错误的答案(从“日志”窗口复制):
Data Table("untitled 727"):Formula on dot dot dot column << Get Formula
/*:
:Column with
无论哪种考虑,是否都存在一种解决方法,以确保在有人尝试在“公式编辑器”中编辑该列以及我作为脚本编写者尝试读取“公式”的值的情况下,该列均保持有效?
我的用例是,我正在创建“当前数据表”的不可见副本,以便可以作为脚本编写者对其进行一些操作,而无需实际更改用户的基础数据并触发“未保存表”标志。 因此,我的理想解决方案将不涉及遍历和重命名坏列,因为这将触发“表未保存”标志。
至少在某些情况下,我们很高兴为您提供解决方法。 同时,我们已将问题报告给开发人员,并且该问题已在JMP 15中解决(今年晚些时候可用)。
我收到了以下人员的跟进@温迪·墨菲表示我可以通过使用子集来获得所需的信息(数据表的私有副本,以便在脚本执行期间无需通过操作触发“表未保存”),如下所示:
new = Data Table( "untitled 727" ) << Subset(
Private,
Suppress formula evaluation( 0 ),
All rows,
Selected columns only( 0 )
);
这确实可以满足我的需要,并且可能比我一直在做的效率更高(<<在数据表上获取脚本,然后评估结果以获取副本)。
因此,有一种解决方法在我的情况下不需要<<获取脚本。
我仍然希望最终能解决该问题,因为我确实有其他使用<<获取公式的脚本表现不佳。 Wendy表示开发团队可能会解决这个问题。