كيفية استخدام دالة index في sas (مع أمثلة)


يمكنك استخدام الدالة INDEX في SAS لإرجاع موضع التواجد الأول لسلسلة في سلسلة أخرى.

تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:

الفهرس (المصدر، المستخرج)

ذهب:

  • المصدر : قناة التحليل
  • extract : سلسلة الأحرف المطلوب البحث عنها في المصدر

يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.

مثال: استخدام الدالة INDEX في 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; 

يمكننا استخدام الدالة INDEX للعثور على موضع التواجد الأول للسلسلة “Smith” في كل سطر:

 /*find position of first occurrence of 'Smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' Smith ');
run ;

/*view results*/
proc print data = new_data;

يعرض العمود الجديد المسمى first_smith موضع التواجد الأول للسلسلة “Smith” في عمود الاسم .

إذا لم يتم العثور على “Smith” على الإطلاق، فإن الدالة INDEX ترجع ببساطة القيمة 0 .

من المهم ملاحظة أن الدالة INDEX حساسة لحالة الأحرف، لذا إذا بحثت عن “smith” بدلاً من ذلك، فسوف تُرجع الدالة INDEX 0 لكل سلسلة:

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' smith ');
run ;

/*view results*/
proc print data = new_data; 

لإجراء بحث غير حساس لحالة الأحرف، يمكنك استخدام الدالة lowcase() لتحويل كل سلسلة إلى أحرف صغيرة أولاً، ثم البحث عن “smith” كما يلي:

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index ( lowcase (name), ' smith ');
run ;

/*view results*/
proc print data = new_data; 

من خلال تحويل كل سلسلة أولاً إلى أحرف صغيرة، يمكننا استخدام الدالة INDEX لإجراء بحث غير حساس لحالة الأحرف.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية استخدام الوظائف الشائعة الأخرى في SAS:

كيفية استخدام الدالة SUBSTR في SAS
كيفية استخدام الدالة COMPRESS في SAS
كيفية استخدام وظيفة FIND في SAS
كيفية استخدام وظيفة COALESCE في SAS

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *