SAS - Sortowanie zbiorów danych
Zbiory danych w SAS mogą być sortowane według dowolnych zmiennych w nich obecnych. Pomaga to zarówno w analizie danych, jak i wykonywaniu innych opcji, takich jak scalanie itp. Sortowanie może odbywać się zarówno na jednej zmiennej, jak i na wielu zmiennych. Została nazwana procedura SAS używana do sortowania w zestawie danych SASPROC SORT. Wynik po sortowaniu jest przechowywany w nowym zestawie danych, a oryginalny zestaw danych pozostaje niezmieniony.
Składnia
Podstawowa składnia operacji sortowania w zestawie danych w SAS to -
PROC SORT DATA = original dataset OUT = Sorted dataset;
   BY variable name;Poniżej znajduje się opis użytych parametrów -
- variable name to nazwa kolumny, w której odbywa się sortowanie. 
- Original dataset to nazwa zbioru danych do posortowania. 
- Sorted dataset to nazwa zbioru danych po jego posortowaniu. 
Przykład
Rozważmy następujący zestaw danych SAS zawierający szczegóły pracowników organizacji. Możemy posortować zestaw danych o wynagrodzeniach za pomocą kodu podanego poniżej.
DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
PROC SORT DATA = Employee OUT = Sorted_sal ;
   BY salary;
RUN ;
 
PROC PRINT DATA = Sorted_sal;
RUN ;Po wykonaniu powyższego kodu otrzymujemy następujące dane wyjściowe.
Sortowanie odwrotne
Domyślna opcja sortowania jest w porządku rosnącym, co oznacza, że obserwacje są uporządkowane według wartości od dolnej do wyższej sortowanej zmiennej. Ale możemy również chcieć, aby sortowanie odbyło się w porządku rosnącym.
Przykład
W poniższym kodzie sortowanie odwrotne uzyskuje się za pomocą instrukcji DESCENDING.
DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
PROC SORT DATA = Employee OUT = Sorted_sal_reverse ;
   BY DESCENDING salary;
RUN ;
 
PROC PRINT DATA = Sorted_sal_reverse;
RUN ;Po wykonaniu powyższego kodu otrzymujemy następujące dane wyjściowe.
Sortowanie wielu zmiennych
Sortowanie można zastosować do wielu zmiennych, używając ich z instrukcją BY. Zmienne są sortowane z priorytetem od lewej do prawej.
Przykład
W poniższym kodzie zestaw danych jest sortowany najpierw według nazwy działu zmiennej, a następnie według nazwy zmiennej wynagrodzenie.
DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
PROC SORT DATA = Employee OUT = Sorted_dept_sal ;
   BY salary DEPT;
RUN ;
 
PROC PRINT DATA = Sorted_dept_sal;
RUN ;Po wykonaniu powyższego kodu otrzymujemy następujące dane wyjściowe.