كيفية استخدام وظيفة 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