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ệuV1 và V2với các giá trị 8 và 4 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ệuV1 và V2với các giá trị 8 và 4 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ệuV1 và V2với các giá trị 8 và 4 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 | <<= => => |