SAS - Chức năng

SAS có nhiều chức năng được tích hợp sẵn giúp phân tích và xử lý dữ liệu. Các hàm này được sử dụng như một phần của các câu lệnh DATA. Chúng lấy các biến dữ liệu làm đối số và trả về kết quả được lưu trữ vào một biến khác. Tùy thuộc vào loại hàm, số lượng đối số của nó có thể khác nhau. Một số hàm chấp nhận đối số không trong khi một số hàm khác chấp nhận số lượng biến cố định. Dưới đây là danh sách các loại chức năng mà SAS cung cấp.

Cú pháp

Cú pháp chung để sử dụng một hàm trong SAS như dưới đây.

FUNCTIONNAME(argument1, argument2...argumentn)

Ở đây đối số có thể là một hằng, biến, biểu thức hoặc một hàm khác.

Danh mục chức năng

Tùy thuộc vào cách sử dụng của chúng, các chức năng trong SAS được phân loại như dưới đây.

  • Mathematical
  • Ngày và giờ
  • Character
  • Truncation
  • Miscellaneous

Các hàm toán học

Đây là những hàm được sử dụng để áp dụng một số phép tính toán học trên các giá trị của biến.

Ví dụ

Chương trình SAS dưới đây cho thấy việc sử dụng một số hàm toán học quan trọng.

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;

Khi đoạn mã trên được chạy, chúng tôi nhận được kết quả sau:

Chức năng ngày và giờ

Đây là các hàm được sử dụng để xử lý các giá trị ngày và giờ.

Ví dụ

Chương trình SAS dưới đây cho thấy việc sử dụng các hàm ngày và giờ.

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;

Khi đoạn mã trên được chạy, chúng tôi nhận được kết quả sau:

Chức năng nhân vật

Đây là các hàm được sử dụng để xử lý các giá trị ký tự hoặc văn bản.

Ví dụ

Chương trình SAS dưới đây cho thấy việc sử dụng các hàm ký tự.

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;

Khi đoạn mã trên được chạy, chúng tôi nhận được kết quả sau:

Hàm cắt bỏ

Đây là những hàm được sử dụng để cắt bớt các giá trị số.

Ví dụ

Chương trình SAS dưới đây cho thấy việc sử dụng các hàm cắt ngắn.

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;

Khi đoạn mã trên được chạy, chúng tôi nhận được kết quả sau:

Các chức năng khác

Bây giờ chúng ta hãy hiểu các chức năng khác nhau của SAS với một số ví dụ.

Ví dụ

Chương trình SAS dưới đây cho thấy việc sử dụng các chức năng Linh tinh.

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;

Khi đoạn mã trên được chạy, chúng tôi nhận được kết quả sau: