SAS - Người điều hành

Một toán tử trong SAS là một ký hiệu được sử dụng trong một biểu thức toán học, logic hoặc so sánh. Các ký hiệu này được tích hợp sẵn trong ngôn ngữ SAS và nhiều toán tử có thể được kết hợp trong một biểu thức duy nhất để đưa ra kết quả cuối cùng.

Dưới đây là danh sách các nhà khai thác loại SAS.

  • Toán tử số học
  • Toán tử logic
  • Toán tử so sánh
  • Toán tử tối thiểu / tối đa
  • Điều hành nối

Chúng ta sẽ xem xét từng cái một. Các toán tử luôn được sử dụng với các biến là một phần của dữ liệu đang được phân tích bởi chương trình SAS.

Toán tử số học

Bảng dưới đây mô tả chi tiết của các toán tử số học. Giả sử hai biến dữ liệuV1V2với các giá trị 84 tương ứng.

Nhà điều hành Sự miêu tả Thí dụ
+ Thêm vào V1 + V2 = 12
- Phép trừ V1-V2 = 4
* Phép nhân V1 * V2 = 32
/ Sư đoàn V1 / V2 = 2
** Luỹ thừa V1 ** V2 = 4096

Thí dụ

DATA MYDATA1;
input @1 COL1 4.2	@7 COL2 3.1; 
Add_result = COL1+COL2;
Sub_result = COL1-COL2;
Mult_result = COL1*COL2;
Div_result = COL1/COL2;
Expo_result = COL1**COL2;
datalines;
11.21 5.3
3.11  11
;
PROC PRINT DATA = MYDATA1;
RUN;

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

Toán tử logic

Bảng dưới đây mô tả chi tiết về các toán tử logic. Các toán tử này đánh giá giá trị Chân của một biểu thức. Vì vậy, kết quả của các toán tử logic luôn là 1 hoặc 0. Giả sử có hai biến dữ liệuV1V2với các giá trị 84 tương ứng.

Nhà điều hành Sự miêu tả Thí dụ
& Toán tử AND. Nếu cả hai giá trị dữ liệu được đánh giá là true thì kết quả là 1, còn lại là 0. (V1> 2 & V2> 3) cho 0.
| Toán tử HOẶC. Nếu bất kỳ giá trị dữ liệu nào được đánh giá là true thì kết quả là 1, còn lại là 0. (V1> 9 & V2> 3) là 1.
~ Nhà điều hành NOT. Kết quả của toán tử NOT dưới dạng một biểu thức có giá trị là FALSE hoặc giá trị bị thiếu là 1 nếu không giá trị đó là 0. NOT (V1> 3) là 1.

Thí dụ

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
and_=(COL1 > 10 & COL2 > 5 );
or_ = (COL1 > 12 | COL2 > 15 );
not_ = ~( COL2 > 7 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

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

Toán tử so sánh

Bảng dưới đây mô tả chi tiết về các toán tử so sánh. Các toán tử này so sánh giá trị của các biến và kết quả là giá trị chân lý được trình bày bởi 1 đối với TRUE và 0 đối với Sai. Giả sử hai biến dữ liệuV1V2với các giá trị 84 tương ứng.

Nhà điều hành Sự miêu tả Thí dụ
= Toán tử EQUAL. Nếu cả hai giá trị dữ liệu bằng nhau thì kết quả là 1, còn lại là 0. (V1 = 8) cho 1.
^ = Toán tử NOT EQUAL. Nếu cả hai giá trị dữ liệu không bằng nhau thì kết quả là 1, còn lại là 0. (V1 ^ = V2) cho 1.
< Nhà điều hành ÍT HƠN. (V2 <V2) cho 1.
<= Ít hơn hoặc bằng với nhà điều hành. (V2 <= 4) cho 1.
> Người điều hành TUYỆT VỜI HƠN. (V2> V1) cho 1.
> = TUYỆT VỜI HƠN HOẶC BẰNG NHÀ ĐIỀU HÀNH. (V2> = V1) cho 0.
TRONG Toán tử IN. Nếu giá trị của biến bằng bất kỳ giá trị nào trong danh sách các giá trị đã cho, thì nó sẽ trả về 1, nếu không nó sẽ trả về 0. V1 trong (5,7,9,8) cho 1.

Thí dụ

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
EQ_ = (COL1 = 11.21);
NEQ_= (COL1 ^= 11.21);
GT_ = (COL2 => 8);
LT_ = (COL2 <= 12);
IN_ = COL2 in( 6.2,5.3,12 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

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

Toán tử tối thiểu / tối đa

Bảng dưới đây mô tả chi tiết về các toán tử Tối thiểu / Tối đa. Các toán tử này so sánh giá trị của các biến trên một hàng và giá trị nhỏ nhất hoặc lớn nhất từ ​​danh sách giá trị trong các hàng được trả về.

Nhà điều hành Sự miêu tả Thí dụ
MIN Toán tử MIN. Nó trả về giá trị nhỏ nhất trong danh sách các giá trị trong hàng. MIN (45.2,11.6,15.41) cho 11,6
TỐI ĐA Toán tử MAX. Nó trả về giá trị lớn nhất dạng danh sách các giá trị trong hàng. MAX (45.2,11.6,15.41) cho 45,2

Thí dụ

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1 @12 COL3 6.3; 
min_ = MIN(COL1 , COL2 , COL3);
max_ = MAX( COL1, COl2 , COL3);
datalines;
11.21 5.3 29.012
3.11  11.4 18.512
;
PROC PRINT DATA = MYDATA1;
RUN;

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

Điều hành nối

Bảng dưới đây mô tả chi tiết về toán tử Nối. Toán tử này nối hai hoặc nhiều giá trị chuỗi. Một giá trị ký tự được trả về.

Nhà điều hành Sự miêu tả Thí dụ
|| Toán tử nối. Nó trả về nối của hai hoặc nhiều giá trị. 'Xin chào' || ' World 'cho Hello World

Thí dụ

DATA MYDATA1;
input  COL1 $	COL2 $  COL3 $; 
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;

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

Ưu tiên nhà khai thác

Mức độ ưu tiên của toán tử cho biết thứ tự đánh giá của nhiều toán tử có trong biểu thức phức tạp. Bảng dưới đây mô tả thứ tự ưu tiên trong một nhóm toán tử.

Nhóm Đặt hàng Ký hiệu
Nhóm I Phải sang trái ** + - KHÔNG TỐI ĐA TỐI ĐA
Nhóm II Trái sang phải * /
Nhóm III Trái sang phải + -
Nhóm IV Trái sang phải ||
Nhóm V Trái sang phải <<= => =>