كيفية استخدام وظيفة 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 في الموضع السابع من الاسم الأول، لذا يُرجع مؤشر Indexc_smith القيمة 7 .

وما إلى ذلك وهلم جرا.

مصادر إضافية

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

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

Add a Comment

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