哎呀——我丢失了数据……请记住,您一定不能......
- 使用错误的表引用创建虚拟链接(已修复<=v18.2.2)
- 创建带有紧凑列的汇总表(固定 <= v18.2.2)
它使您的数据表无法访问!
[更多类似主题容器]
自动化和脚本回复:哎呀 - 我丢失了数据......选项 1):
添加具有未解析引用的链接:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("Conan the Destroyer",Set Property("Link Reference", {Reference Table(link_path), Options("Use Linked Column Name", "Auto Open")}));
dt << save("$TEMP/test.jmp");
close(dt, noSave);
open("$TEMP/test.jmp");
在 JMP18.2.2 中修复?
回复:如何使数据表不可访问?在什么意义上是不可访问的?
回复:如何使数据表不可访问?就是“死亡”的意思。
回复:如何使数据表不可访问?优点:
JMP 以纯文本形式存储表格引用...
通过删除“自动打开”,可以恢复文件:

JMP 将显示一条警告消息:

并跳过错误列的详细信息。
回复:如何使数据表不可访问?此线程的目的是什么?
回复:如何使数据表不可访问?为什么要以数据基本上被损坏的方式使数据无法访问呢?
回复:如何使数据表不可访问?
@txnelson写道:
此线程的目的是什么?
主要是:帮助人们保存他们的工作成果。
除此之外:
a) 文档:您不应该(!!)对数据表做的事情。
b)动机:
@ 同事们——请花 30 分钟来了解Eval/Eval Expr/Expr的美妙之处
(基础知识:#62,一些示例:#66) --- 它将使您免于丢失类似这样的数据。
c) 预防措施:
-> 我将添加检查 + 警告功能到
按钮 ...
如果在脚本中定义了一个变量-并且该变量显示在消息中(<<...) ... 显示警告!
回复:如何使数据表不可访问?
@hogi写道:
检查+警告功能...
回复:哎呀-我丢失了数据……我相信与另一位同事交谈后就了解了这个问题。
这里的问题是,如果存在无效的链接引用路径,JMP 用户界面将不允许保存选择了“自动打开”的表。JMP UI 将保存表,但会设置“自动打开”选项。因此可以打开或恢复表。
然而,在 JSL 中,这是允许的。表使用自动打开和无效的链接引用保存。这阻止 JMP 打开表。JMP UI 具有某种安全检查,但 JSL 中没有内置这种检查。
我已经报告了此问题,以便在将来的版本中解决。
最好的!
回复:哎呀 - 我丢失了数据......# 1:
你好@Dahlia_Watkins ,感谢你深入挖掘并触发未来版本的错误修复:)
[TS-00177463]
回复:如何使数据表不可访问?谢谢 hogi,
我可以用你的解决方案挽救我的一些数据集!非常感谢
回复:哎呀 - 我丢失了数据......选项 2)创建汇总表
- 带有指向主表的链接(默认)
- 配有紧凑型立柱
dt = New Table( "input",
Add Rows( 3 ),
New Column( "ID",
Character,
"Nominal",
Set Values( {"A_1", "A_2", "A_3"} ),
Compact() // <- disable to remove the bug
)
);
dt sum = dt << Summary( Group( :ID ),
//Link to original data table( 0 ) // <- uncomment to disable the bug
);
fn = "$temp\bug" || Char(random integer(10000))||".jmp";
dtsum << Save( fn );
Close( dt sum, NoSave );
Try(open(fn), Caption("sorry, the file is damaged"));
当您尝试手动打开文件时,JMP 将显示一条错误消息:

与链接子集表存在同样的问题吗?
在 JMP18.2.2 中修复?