#sas
#sas
Вопрос:
Сегодня мы обсуждали параметр nobs= в SAS (см. Ниже), и возник вопрос — как вы восстанавливаете / извлекаете удаленные наблюдения?
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;
Комментарии:
1. Похоже, вы обнаружили ошибку. Я заменил вашу процедуру SQL на процедуру, которая воссоздает набор данных (CREATE TABLE TEST КАК SELECT TEST FROM TEST, ГДЕ X ~= 2), и результат ввода строки N =; был равен 1, как и ожидалось.
2. @RWill: не ошибка, просто часть странности SAS. См. www2.sas.com/proceedings/sugi26/p095-26.pdf
3. имеет смысл — вы не захотите перестраивать большую таблицу без необходимости. Это показывает, что на значения метаданных нельзя полагаться. Но первоначальный вопрос остается!
Ответ №1:
Несмотря на то, что записи «помечены для удаления», что позволяет предположить, что может существовать способ «снять пометку для удаления», в настоящее время нет возможности восстановить эти записи. Это очень плохо, поскольку кажется, что это может быть полезно в некоторых случаях.