SAS - Функции
SAS имеет большое количество встроенных функций, которые помогают анализировать и обрабатывать данные. Эти функции используются как часть операторов DATA. Они принимают переменные данных в качестве аргументов и возвращают результат, который сохраняется в другой переменной. В зависимости от типа функции количество принимаемых аргументов может варьироваться. Некоторые функции принимают нулевые аргументы, в то время как другие принимают фиксированное количество переменных. Ниже приведен список типов функций, которые предоставляет SAS.
Синтаксис
Общий синтаксис использования функции в SAS приведен ниже.
FUNCTIONNAME(argument1, argument2...argumentn)
Здесь аргумент может быть константой, переменной, выражением или другой функцией.
Категории функций
В зависимости от использования функции в SAS классифицируются следующим образом.
- Mathematical
- Дата и время
- Character
- Truncation
- Miscellaneous
Математические функции
Это функции, используемые для выполнения некоторых математических расчетов значений переменных.
Примеры
В приведенной ниже программе SAS показано использование некоторых важных математических функций.
data Math_functions;
v1=21; v2=42; v3=13; v4=10; v5=29;
/* Get Maximum value */
max_val = MAX(v1,v2,v3,v4,v5);
/* Get Minimum value */
min_val = MIN (v1,v2,v3,v4,v5);
/* Get Median value */
med_val = MEDIAN (v1,v2,v3,v4,v5);
/* Get a random number */
rand_val = RANUNI(0);
/* Get Square root of sum of the values */
SR_val= SQRT(sum(v1,v2,v3,v4,v5));
proc print data = Math_functions noobs;
run;
Когда приведенный выше код запускается, мы получаем следующий вывод -
Функции даты и времени
Это функции, используемые для обработки значений даты и времени.
Примеры
В приведенной ниже программе SAS показано использование функций даты и времени.
data date_functions;
INPUT @1 date1 date9. @11 date2 date9.;
format date1 date9. date2 date9.;
/* Get the interval between the dates in years*/
Years_ = INTCK('YEAR',date1,date2);
/* Get the interval between the dates in months*/
months_ = INTCK('MONTH',date1,date2);
/* Get the week day from the date*/
weekday_ = WEEKDAY(date1);
/* Get Today's date in SAS date format */
today_ = TODAY();
/* Get current time in SAS time format */
time_ = time();
DATALINES;
21OCT2000 16AUG1998
01MAR2009 11JUL2012
;
proc print data = date_functions noobs;
run;
Когда приведенный выше код запускается, мы получаем следующий вывод -
Функции персонажей
Это функции, используемые для обработки символьных или текстовых значений.
Примеры
В приведенной ниже программе SAS показано использование символьных функций.
data character_functions;
/* Convert the string into lower case */
lowcse_ = LOWCASE('HELLO');
/* Convert the string into upper case */
upcase_ = UPCASE('hello');
/* Reverse the string */
reverse_ = REVERSE('Hello');
/* Return the nth word */
nth_letter_ = SCAN('Learn SAS Now',2);
run;
proc print data = character_functions noobs;
run;
Когда приведенный выше код запускается, мы получаем следующий вывод -
Функции усечения
Это функции, используемые для усечения числовых значений.
Примеры
В приведенной ниже программе SAS показано использование функций усечения.
data trunc_functions;
/* Nearest greatest integer */
ceil_ = CEIL(11.85);
/* Nearest greatest integer */
floor_ = FLOOR(11.85);
/* Integer portion of a number */
int_ = INT(32.41);
/* Round off to nearest value */
round_ = ROUND(5621.78);
run;
proc print data = trunc_functions noobs;
run;
Когда приведенный выше код запускается, мы получаем следующий вывод -
Разные функции
Давайте теперь разберемся с различными функциями SAS на некоторых примерах.
Примеры
В приведенной ниже программе SAS показано использование различных функций.
data misc_functions;
/* Nearest greatest integer */
state2=zipstate('01040');
/* Amortization calculation */
payment = mort(50000, . , .10/12,30*12);
proc print data = misc_functions noobs;
run;
Когда приведенный выше код запускается, мы получаем следующий вывод -