SAS - Сортировка наборов данных

Наборы данных в SAS можно сортировать по любой из имеющихся в них переменных. Это помогает как при анализе данных, так и при выполнении других опций, таких как слияние и т. Д. Сортировка может выполняться по любой отдельной переменной, а также по нескольким переменным. Процедура SAS, используемая для выполнения сортировки в наборе данных SAS, называетсяPROC SORT. Результат после сортировки сохраняется в новом наборе данных, а исходный набор данных остается неизменным.

Синтаксис

Основной синтаксис для операции сортировки в наборе данных в SAS -

PROC SORT DATA = original dataset OUT = Sorted dataset;
   BY variable name;

Ниже приводится описание используемых параметров -

  • variable name - это имя столбца, по которому выполняется сортировка.

  • Original dataset имя набора данных для сортировки.

  • Sorted dataset - это имя набора данных после его сортировки.

пример

Рассмотрим следующий набор данных SAS, содержащий сведения о сотрудниках организации. Мы можем отсортировать набор данных по зарплате, используя код, приведенный ниже.

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 ;

Когда приведенный выше код выполняется, мы получаем следующий результат.

Обратная сортировка

Параметр сортировки по умолчанию находится в порядке возрастания, что означает, что наблюдения упорядочены в соответствии с меньшим и большим значением сортированной переменной. Но мы также можем захотеть, чтобы сортировка выполнялась в порядке возрастания.

пример

В приведенном ниже коде обратная сортировка достигается с помощью оператора 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 ;

Когда приведенный выше код выполняется, мы получаем следующий результат.

Сортировка нескольких переменных

Сортировку можно применить к нескольким переменным, используя их с оператором BY. Переменные сортируются с приоритетом слева направо.

пример

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

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 ;

Когда приведенный выше код выполняется, мы получаем следующий результат.