Учебники

SAS – формат данных

Иногда мы предпочитаем отображать проанализированные данные в формате, который отличается от формата, в котором они уже присутствуют в наборе данных. Например, мы хотим добавить знак доллара и два знака после запятой в переменную, которая имеет информацию о цене. Или мы можем захотеть показать текстовую переменную, все в верхнем регистре. Мы можем использовать FORMAT для применения встроенных форматов SAS, а PROC FORMAT – для применения пользовательских форматов. Также один формат может быть применен к нескольким переменным.

Синтаксис

Основной синтаксис для применения встроенных форматов SAS:

format variable name format name

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

  • имя переменной – это имя переменной, используемой в наборе данных.

  • имя формата – это формат данных, который будет применен к переменной.

имя переменной – это имя переменной, используемой в наборе данных.

имя формата – это формат данных, который будет применен к переменной.

пример

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

DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 
   format name $upcase9. ;
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 PRINT DATA = Employee; 
RUN; 

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

формат 1

Использование PROC FORMAT

Мы также можем использовать PROC FORMAT для форматирования данных. В приведенном ниже примере мы присваиваем новые значения переменной DEPT, добавляя название отдела.

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 
;
proc format;
value $DEP 'IT' = 'Information Technology'
      'OPS'= 'Operations' ;
RUN;
   PROC PRINT DATA = Employee; 
   format name $upcase9. DEPT $DEP.; 
RUN; 

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