كيفية استخدام وظيفة anydigit في sas
يمكنك استخدام الدالة ANYDIGIT في SAS لإرجاع موضع الرقم الأول في سلسلة معينة.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
ANYDIGIT (تعبير، [بدء])
ذهب:
- التعبير : السلسلة المراد البحث عنها
- start (اختياري) : موضع البداية الذي سيتم البحث منه.
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: استخدام الدالة ANYDIGIT في SAS
لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي تحتوي على معلومات حول مختلف الموظفين في الشركة:
/*create dataset*/
data my_data;
input employeeID $sales;
datalines ;
54AAF 23
0009A 38
BC18B 40
09:30 12
04429 65
B1300 90
B1700 75
RRHHJ 35
0Y009 40
C6500 23
;
run ;
/*view dataset*/
proc print data =my_data;
يمكننا استخدام الدالة ANYDIGIT للعثور على موضع الرقم الأول في عمود معرف الموظف :
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID);
run ;
/*view new dataset*/
proc print data = new_data;
يعرض العمود الجديد المسمى firstDigit موضع التواجد الأول للرقم في العمود “معرف الموظف” .
على سبيل المثال:
- الرقم الأول من 54AAF موجود في الموضع 1 .
- الرقم الأول من 0009A موجود في الموضع 1 .
- الرقم الأول من BC18B موجود في الموضع 3 .
وما إلى ذلك وهلم جرا.
إذا لم تكن هناك أرقام لمعرف الموظف المحدد، فسيتم إرجاع القيمة 0 .
يمكننا أيضًا استخدام وسيطة البداية في الدالة ANYDIGIT لتحديد موضع البداية للبحث منه.
على سبيل المثال، يمكننا استخدام الكود التالي للعثور على موضع الرقم الأول في عمود معرف الموظف بدءًا من الموضع 3 :
/*create new dataset*/
data new_data;
set my_data;
firstDigit = anydigit (employeeID, 3 );
run ;
/*view new dataset*/
proc print data =new_data;
لاحظ أن قيم “معرف الموظف” التي تحتوي على حرف أبجدي فقط في الموضعين الأولين تتلقى الآن القيمة 0 في عمود الرقم الأول حيث يبدأ البحث الرقمي الآن في الموضع 3 .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية استخدام الوظائف الشائعة الأخرى في SAS:
كيفية إزالة الأحرف الخاصة من السلاسل في SAS
كيفية استبدال الأحرف في سلسلة في SAS
كيفية تحويل متغير حرف إلى رقمي في SAS