SAS - ตัวดำเนินการ
ตัวดำเนินการใน SAS เป็นสัญลักษณ์ที่ใช้ในนิพจน์ทางคณิตศาสตร์ตรรกะหรือการเปรียบเทียบ สัญลักษณ์เหล่านี้สร้างขึ้นในภาษา SAS และสามารถรวมตัวดำเนินการหลายตัวในนิพจน์เดียวเพื่อให้ได้ผลลัพธ์สุดท้าย
ด้านล่างนี้คือรายชื่อของตัวดำเนินการประเภท SAS
- ตัวดำเนินการเลขคณิต
- ตัวดำเนินการทางตรรกะ
- ตัวดำเนินการเปรียบเทียบ
- ตัวดำเนินการขั้นต่ำ / สูงสุด
- ตัวดำเนินการเชื่อมต่อ
เราจะดูทีละคน ตัวดำเนินการจะใช้กับตัวแปรที่เป็นส่วนหนึ่งของข้อมูลที่กำลังวิเคราะห์โดยโปรแกรม SAS เสมอ
ตัวดำเนินการเลขคณิต
ตารางด้านล่างนี้อธิบายรายละเอียดของตัวดำเนินการเลขคณิต สมมติตัวแปรข้อมูลสองตัวV1 และ V2ด้วยค่า 8 และ 4 ตามลำดับ
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
+ | ส่วนที่เพิ่มเข้าไป | V1 + V2 = 12 |
- | การลบ | V1-V2 = 4 |
* | การคูณ | V1 * V2 = 32 |
/ | แผนก | V1 / V2 = 2 |
** | การยกกำลัง | V1 ** V2 = 4096 |
ตัวอย่าง
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;
ในการรันโค้ดด้านบนเราจะได้ผลลัพธ์ต่อไปนี้
ตัวดำเนินการทางตรรกะ
ตารางด้านล่างนี้อธิบายรายละเอียดของตัวดำเนินการทางตรรกะ ตัวดำเนินการเหล่านี้ประเมินค่าความจริงของนิพจน์ ดังนั้นผลลัพธ์ของตัวดำเนินการเชิงตรรกะจะเป็น 1 หรือ 0 เสมอสมมติว่าตัวแปรข้อมูลสองตัวV1 และ V2ด้วยค่า 8 และ 4 ตามลำดับ
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
& | ตัวดำเนินการ AND หากค่าข้อมูลทั้งสองประเมินเป็นจริงผลลัพธ์คือ 1 มิฉะนั้นจะเป็น 0 | (V1> 2 & V2> 3) ให้ 0 |
| | ตัวดำเนินการหรือ หากค่าข้อมูลใดค่าหนึ่งประเมินเป็นจริงผลลัพธ์คือ 1 มิฉะนั้นจะเป็น 0 | (V1> 9 & V2> 3) คือ 1 |
~ | ไม่ใช่ตัวดำเนินการ ผลลัพธ์ของตัวดำเนินการ NOT ในรูปแบบของนิพจน์ที่มีค่าเป็น FALSE หรือค่าที่หายไปคือ 1 มิฉะนั้นจะเป็น 0 | NOT (V1> 3) คือ 1 |
ตัวอย่าง
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;
ในการรันโค้ดด้านบนเราจะได้ผลลัพธ์ต่อไปนี้
ตัวดำเนินการเปรียบเทียบ
ตารางด้านล่างอธิบายรายละเอียดของตัวดำเนินการเปรียบเทียบ ตัวดำเนินการเหล่านี้เปรียบเทียบค่าของตัวแปรและผลลัพธ์คือค่าความจริงที่นำเสนอโดย 1 สำหรับ TRUE และ 0 สำหรับ False สมมติตัวแปรข้อมูลสองตัวV1 และ V2ด้วยค่า 8 และ 4 ตามลำดับ
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
= | ตัวดำเนินการที่เท่าเทียมกัน หากค่าข้อมูลทั้งสองเท่ากันผลลัพธ์คือ 1 มิฉะนั้นจะเป็น 0 | (V1 = 8) ให้ 1. |
^ = | ตัวดำเนินการไม่เท่ากัน หากค่าข้อมูลทั้งสองไม่เท่ากันผลลัพธ์คือ 1 มิฉะนั้นจะเป็น 0 | (V1 ^ = V2) ให้ 1. |
< | น้อยกว่าโอเปอเรเตอร์ | (V2 <V2) ให้ 1. |
<= | น้อยกว่าหรือเท่ากับโอเปอเรเตอร์ | (V2 <= 4) ให้ 1. |
> | ผู้ปฏิบัติงานที่ยิ่งใหญ่กว่า | (V2> V1) ให้ 1. |
> = | ยิ่งใหญ่กว่าหรือเท่ากับ Operator | (V2> = V1) ให้ 0 |
ใน | ตัวดำเนินการใน หากค่าของตัวแปรเท่ากับค่าใดค่าหนึ่งในรายการค่าที่กำหนดค่านั้นจะส่งกลับ 1 ค่าอื่นจะส่งกลับ 0 | V1 ใน (5,7,9,8) ให้ 1. |
ตัวอย่าง
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;
ในการรันโค้ดด้านบนเราจะได้ผลลัพธ์ต่อไปนี้
ตัวดำเนินการขั้นต่ำ / สูงสุด
ตารางด้านล่างนี้อธิบายรายละเอียดของตัวดำเนินการขั้นต่ำ / สูงสุด ตัวดำเนินการเหล่านี้เปรียบเทียบค่าของตัวแปรในแถวและค่าต่ำสุดหรือสูงสุดจากรายการค่าในแถวจะถูกส่งกลับ
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
นาที | ตัวดำเนินการขั้นต่ำ ส่งคืนค่าต่ำสุดจากรายการค่าในแถว | MIN (45.2,11.6,15.41) ให้ 11.6 |
MAX | ตัวดำเนินการ MAX ส่งคืนค่าสูงสุดจากรายการค่าในแถว | MAX (45.2,11.6,15.41) ให้ 45.2 |
ตัวอย่าง
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;
ในการรันโค้ดด้านบนเราจะได้ผลลัพธ์ต่อไปนี้
ตัวดำเนินการเชื่อมต่อ
ตารางด้านล่างอธิบายรายละเอียดของตัวดำเนินการเชื่อมต่อ ตัวดำเนินการนี้เชื่อมต่อค่าสตริงตั้งแต่สองค่าขึ้นไป ค่าอักขระเดียวจะถูกส่งกลับ
ตัวดำเนินการ | คำอธิบาย | ตัวอย่าง |
---|---|---|
|| | ตัวดำเนินการเชื่อมต่อ จะคืนค่าการเรียงต่อกันของค่าตั้งแต่สองค่าขึ้นไป | 'สวัสดี' || ' World 'ให้ Hello World |
ตัวอย่าง
DATA MYDATA1;
input COL1 $ COL2 $ COL3 $;
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;
ในการรันโค้ดด้านบนเราจะได้ผลลัพธ์ต่อไปนี้
ลำดับความสำคัญของตัวดำเนินการ
ลำดับความสำคัญของตัวดำเนินการระบุลำดับของการประเมินตัวดำเนินการหลายตัวที่มีอยู่ในนิพจน์ที่ซับซ้อน ตารางด้านล่างอธิบายลำดับความสำคัญของตัวดำเนินการในกลุ่ม
กลุ่ม | ใบสั่ง | สัญลักษณ์ |
---|---|---|
กลุ่ม I | จากขวาไปซ้าย | ** + - ไม่ต่ำสุด |
กลุ่ม II | ซ้ายไปขวา | * / |
กลุ่มที่สาม | ซ้ายไปขวา | + - |
กลุ่ม IV | ซ้ายไปขวา | || |
กลุ่ม V | ซ้ายไปขวา | <<= => => |