วิธีใช้ฟังก์ชัน anydigit ใน sas
คุณสามารถใช้ฟังก์ชัน ANYDIGIT ใน SAS เพื่อส่งคืนตำแหน่งของหลักแรกในสตริงที่กำหนด
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
ANYDIGIT(นิพจน์, [เริ่ม])
ทอง:
- expression : สตริงที่จะค้นหา
- start (ไม่บังคับ) : ตำแหน่งเริ่มต้นที่จะค้นหา
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: การใช้ฟังก์ชัน ANYDIGIT ใน SAS
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ซึ่งมีข้อมูลเกี่ยวกับพนักงานต่างๆ ของบริษัท:
/*create dataset*/
data my_data;
input employeeID $sales;
datalines ;
54AAF 23
0009A 38
BC18B 40
09:30 12
04429 65
B1300 90
B1700 75
RRHHJ 35
0Y009 40
C6500 23
;
run ;
/*view dataset*/
proc print data =my_data;
เราสามารถใช้ฟังก์ชัน ANYDIGIT เพื่อค้นหาตำแหน่งของหลักแรกในคอลัมน์ EmployeeID :
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID);
run ;
/*view new dataset*/
proc print data = new_data;
คอลัมน์ใหม่ที่เรียกว่า firstDigit จะแสดงตำแหน่งของตัวเลขตัวแรกในคอลัมน์ EmployeeID
ตัวอย่างเช่น:
- หลักแรกของ 54AAF อยู่ในตำแหน่ง 1
- ตัวเลขตัวแรกของ 0009A อยู่ในตำแหน่ง 1
- หลักแรกของ BC18B อยู่ในตำแหน่ง 3
และอื่นๆ
หากไม่มีตัวเลขสำหรับ ID พนักงานที่กำหนด ระบบจะส่งคืนค่า 0
นอกจากนี้เรายังสามารถใช้อาร์กิวเมนต์ เริ่มต้น ในฟังก์ชัน ANYDIGIT เพื่อระบุตำแหน่งเริ่มต้นที่จะค้นหา
ตัวอย่างเช่น เราสามารถใช้โค้ดต่อไปนี้เพื่อค้นหาตำแหน่งของหลักแรกในคอลัมน์ EmployeeID โดยเริ่มจากตำแหน่งที่ 3 :
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID, 3 );
run ;
/*view new dataset*/
proc print data =new_data;
โปรดทราบว่าค่า EmployeeID ที่มีเฉพาะตัวอักษรในสองตำแหน่งแรกจะได้รับค่า 0 ในคอลัมน์ firstDigit เนื่องจากตอนนี้การค้นหาหลักเริ่มต้นที่ตำแหน่ง 3
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน SAS:
วิธีลบอักขระพิเศษออกจากสตริงใน SAS
วิธีแทนที่อักขระในสตริงใน SAS
วิธีแปลงตัวแปรอักขระเป็นตัวเลขใน SAS