วิธีใช้ฟังก์ชัน indexc ใน sas
คุณสามารถใช้ฟังก์ชัน INDEXC ใน SAS เพื่อส่งคืนตำแหน่งที่ปรากฏครั้งแรกของอักขระแต่ละตัวในสตริง
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
INDEXC(ที่มา, สารสกัด)
ทอง:
- ที่มา : ช่องทางการวิเคราะห์
- extract : สตริงอักขระที่จะค้นหาใน แหล่งที่มา
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: การใช้ฟังก์ชัน INDEXC ใน SAS
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ซึ่งมีคอลัมน์ชื่อ:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;
/*view dataset*/
proc print data = original_data;
เราสามารถใช้ฟังก์ชัน INDEXC เพื่อค้นหาตำแหน่งของอักขระที่ปรากฏครั้งแรก x , y หรือ z :
/*find position of first occurrence of either x, y or z in name*/
data new_data;
set original_data;
first_xyz = indexc (name, 'xyz');
run ;
/*view results*/
proc print data = new_data;
คอลัมน์ใหม่ที่เรียกว่า first_xyz จะแสดงตำแหน่งของอักขระที่เกิดขึ้นครั้งแรก x , y หรือ z ในคอลัมน์ ชื่อ
หากไม่มีอักขระทั้งสามตัวนี้อยู่ในคอลัมน์ ชื่อ ฟังก์ชัน INDEXC ก็จะคืนค่าเป็น 0
ตัวอย่างเช่น จากผลลัพธ์เราจะเห็นได้ว่า:
ตำแหน่งที่ปรากฏครั้งแรกของ x, y หรือ z ในแถวแรกคือตำแหน่ง 4 เราจะเห็นว่าตัวละครในตำแหน่งที่ 4 ในบรรทัดแรกคือ y
ตำแหน่งที่ปรากฏครั้งแรกของ x, y หรือ z ในแถวที่สองคือ 0 เนื่องจากไม่มีตัวอักษรทั้งสามตัวนี้อยู่ในชื่อแถวที่สอง
และอื่นๆ
ความแตกต่างระหว่างฟังก์ชัน INDEX และ INDEXC
ฟังก์ชัน INDEX ใน SAS จะส่งคืนตำแหน่งของสตริงย่อยที่เกิดขึ้นครั้งแรกในสตริงอื่น
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงความแตกต่างระหว่างฟังก์ชัน INDEX และ INDEXC :
/*create new dataset*/
data new_data;
set original_data;
index_smith = index (name, 'Smith');
indexc_smith = indexc (name, 'Smith');
run ;
/*view new dataset*/
proc print data =new_data;
คอลัมน์ index_smith แสดงตำแหน่งของสตริงย่อย ‘Smith’ ที่เกิดขึ้นครั้งแรกในคอลัมน์ ชื่อ
คอลัมน์ indexc_smith แสดงตำแหน่งของตัวอักษร s , m , i , t หรือ h ที่ปรากฏครั้งแรกในคอลัมน์ ชื่อ
ตัวอย่างเช่น จากผลลัพธ์เราจะเห็นได้ว่า:
สตริงย่อย ‘Smith’ จะไม่ปรากฏในชื่อ ดังนั้น index_smith จะส่งกลับค่า 0
ตัวอักษร i ปรากฏในตำแหน่งที่ 7 ของชื่อ ดังนั้น indexc_smith จึงส่งกลับค่า 7
และอื่นๆ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน SAS:
วิธีใช้ฟังก์ชัน SUBSTR ใน SAS
วิธีใช้ฟังก์ชัน COMPRESS ใน SAS
วิธีใช้ฟังก์ชัน FIND ใน SAS
วิธีใช้ฟังก์ชัน COALESCE ใน SAS