2009-05-27 10 views
7

Sé que Sas comienza con la observación en la parte superior de un conjunto de datos al procesar y pasa al siguiente hasta que llega a la observación inferior, pero ¿hay una manera fácil de hacer que el proceso la observación inferior primero y luego llegar a la cima?SAS puedo hacer sas observaciones de proceso al revés

Respuesta

6

Sin duda puede cambiar los datos en orden inverso, luego procesar de arriba hacia abajo. Agregue una variable al conjunto de datos que actúa como un índice ... luego ordene el conjunto de datos descendente por esa variable.

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

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

+1 para una versión que funciona con vistas y conjuntos de datos –

13

Puede utilizar nobs y punto para procesarlo hacia atrás sin tener que hacer ningún paso intermedio. He aquí un ejemplo:

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; 

Véase la página 2 de this pdf para todos los detalles jugosos.

+0

Bonito consejo y enlace –

Cuestiones relacionadas