SAS - числовые форматы

SAS может обрабатывать широкий спектр числовых форматов данных. Он использует эти форматы в конце имен переменных, чтобы применить к данным определенный числовой формат. SAS использует два вида числовых форматов. Один для чтения определенных форматов числовых данных, который называетсяinformat и другой для отображения числовых данных в определенном формате, называемом output format.

Синтаксис

Синтаксис числовой информации -

Varname Formatnamew.d

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

  • Varname это имя переменной.

  • Formatname это имя имени числового формата, примененного к переменной.

  • w - максимальное количество столбцов данных (включая цифры после десятичного разделителя и саму десятичную точку), разрешенное для хранения для переменной.

  • d - количество цифр справа от десятичной дроби.

Чтение числовых форматов

Ниже приведен список форматов, используемых для чтения данных в SAS.

Входные числовые форматы

Формат Использовать
n.

Максимальное количество столбцов без десятичной точки.

n.p

Максимальное количество столбцов с десятичными знаками «p».

COMMAn.p

Максимальное количество столбцов «n» с десятичными знаками «p», которое удаляет любые знаки запятой или доллара.

COMMAn.p

Максимальное количество столбцов «n» с десятичными знаками «p», которое удаляет любые знаки запятой или доллара.

Отображение числовых форматов

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

Выходные числовые форматы

Формат Использовать
n.

Запишите максимальное количество цифр "n" без десятичной точки.

n.p

Запишите максимальное количество столбцов "np" с десятичными точками "p".

DOLLARn.p

Запишите максимальное количество столбцов "n" с p десятичными знаками, ведущим знаком доллара и запятой на тысячном месте.

Обратите внимание -

  • Если количество цифр после десятичной точки меньше спецификатора формата, тогдаzeros will be appended в конце.

  • Если количество цифр после десятичной точки больше, чем указатель формата, то последняя цифра будет rounded off.

Примеры

Примеры ниже иллюстрируют вышеприведенные сценарии.

DATA MYDATA1;
input x 6.; /*maxiiuum width of the data*/
format x 6.3;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA1;
RUN;

DATA MYDATA2;
input x 6.; /*maximum width of the data*/
format x 5.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA2;
RUN;
DATA MYDATA3;
input x 6.; /*maximum width of the data*/
format x DOLLAR10.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA3;
RUN;

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

# MYDATA1.
Obs 	x
1 	8722.0 # Display 6 columns with zero appended after decimal.
2 	93.200 # Display 6 columns with zero appended after decimal.
3 	0.112  # No integers before decimal, so display 3 available digits after decimal.
4 	15.116 # Display 6 columns with 3 available digits after decimal.

# MYDATA2
Obs 	x
1 	8722  # Display 5 columns. Only 4 are available.
2 	93.20 # Display 5 columns with zero appended after decimal.
3 	0.11  # Display 5 columns with 2 places after decimal.
4 	15.12 # Display 5 columns with 2 places after decimal.

# MYDATA3
Obs 	x
1 	$8,722.00 # Display 10 columns with leading $ sign, comma at thousandth place and zeros appended after decimal.
2 	$93.20    # Only 2 integers available before decimal and one available after the decimal.
3 	$0.11	  # No integers available before decimal and two available after the decimal.
4 	$15.12    # Only 2 integers available before decimal and two available after the decimal.