วิธีใช้ฟังก์ชัน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *