在SAS中检索已删除的观测值

在SAS中检索已删除的观测值,sas,Sas,我们今天讨论了SAS的nobs=选项(见下文),然后出现了一个问题-如何恢复/检索已删除的观察结果 data test; x=1; output; x=2; output; run; proc sql; delete from test where x=2; quit; data _null_; set test nobs=n; put n=; /* gotcha */ run; 尽管这些记录被“标记为删除”,因此表明可能有一种方法可以“取消标记以删除”,但目前没有

我们今天讨论了SAS的nobs=选项(见下文),然后出现了一个问题-如何恢复/检索已删除的观察结果

data test;
x=1;
output;
x=2;
output;
run;

proc sql;
    delete from test where x=2;
quit;

data _null_;
    set test nobs=n;
    put n=; /* gotcha */
run;

尽管这些记录被“标记为删除”,因此表明可能有一种方法可以“取消标记以删除”,但目前没有恢复这些记录的设施。这太糟糕了,因为它似乎在某些情况下很有用。

您似乎发现了一个bug。我将您的SQL过程替换为一个重新创建数据集的过程(创建表TEST作为selecttestfromtest,其中X~=2)和PUT N=的结果;行是1,正如预期的那样。@RWill:不是一个bug,只是一个SAS古怪的东西。请参阅,这很有意义-您不会不必要地重建一个大表。这表明元数据值不可依赖。但最初的问题仍然存在!