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 ซ้ายไปขวา <<= => =>