2009-05-27 4 views
7

Я знаю, что Sas начинается с наблюдения в верхней части набора данных при обработке и переходит к следующему, пока не достигнет нижнего наблюдения, но есть простой способ сделать процесс sas первое наблюдение, а затем пробиваться к вершине?SAS я могу сделать наблюдения за процессом sas назад

ответ

6

Вы, безусловно, можете изменить свои данные в обратном порядке, а затем обработать сверху вниз. Добавьте переменную в набор данных, который действует как индекс. Затем сортируйте набор данных, спускаемый этой переменной.

data work.myData ; 
set work.myData ; 
indx = _n_ ; 
run ; 

proc sort data=work.myData ; 
by descending indx ; 
run ; 
+1

+1 для версии, которая работает с представлениями, а также наборами данных –

13

Вы можете использовать Ноббс и точку обработать его в обратном направлении без необходимости делать какие-либо промежуточные этапы. Вот пример:

data backwards; 
    do k= nobs to 1 by -1; 
    set sashelp.class nobs = nobs point=k; 
    output; 
    end; 
    stop; 
run; 
proc print data=sashelp.class;run; 
proc print data=backwards;run; 

Смотрите страницу 2 из this pdf для всех пикантных подробностей.

+0

Хороший совет и ссылка –