SAS имеет широкий спектр встроенных функций, которые помогают в анализе и обработке данных. Эти функции используются как часть операторов DATA. Они принимают переменные данных в качестве аргументов и возвращают результат, который сохраняется в другой переменной. В зависимости от типа функции количество аргументов, которые она принимает, может варьироваться. Некоторые функции принимают нулевые аргументы, в то время как другие принимают фиксированное число переменных. Ниже приведен список типов функций, которые предоставляет SAS.
Синтаксис
Общий синтаксис использования функции в SAS приведен ниже.
FUNCTIONNAME(argument1, argument2...argumentn)
Здесь аргумент может быть константой, переменной, выражением или другой функцией.
Категории функций
В зависимости от их использования функции в SAS классифицируются следующим образом.
- математическая
- Дата и время
- символ
- сокращение
- Разнообразный
Математические функции
Эти функции используются для применения некоторых математических вычислений к значениям переменных.
Примеры
В приведенной ниже программе 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;
Когда приведенный выше код выполняется, мы получаем следующий вывод: