كيفية استخدام وظيفة scan في sas (مع أمثلة)
يمكنك استخدام وظيفة SCAN في SAS لاستخراج الكلمة n من السلسلة.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
SCAN (سلسلة، رقم)
ذهب:
- السلسلة : السلسلة المراد تحليلها
- العد : الكلمة رقم لاستخراجها
فيما يلي الطرق الثلاث الأكثر شيوعًا لاستخدام هذه الميزة:
الطريقة الأولى: استخراج الكلمة n من السلسلة
data new_data;
set original_data;
second_word = scan (string_variable, 2 );
run ;
الطريقة الثانية: استخراج الكلمة الأخيرة من السلسلة
data new_data;
set original_data;
last_word = scan (string_variable, -1 );
run ;
الطريقة الثالثة: استخراج كلمات متعددة من سلسلة
data new_data;
set original_data;
first_word = scan (string_variable, 1 );
second_word = scan (string_variable, 2 );
third_word = scan (string_variable, 3 );
run ;
توضح الأمثلة التالية كيفية استخدام كل طريقة مع مجموعة البيانات التالية في SAS:
/*create dataset*/
data original_data;
input name $20. dirty;
datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;
/*view dataset*/
proc print data = original_data;
مثال 1: استخراج الكلمة n من السلسلة
يوضح الكود التالي كيفية استخراج الكلمة الثانية من كل سلسلة في عمود الاسم :
/*extract second word in each row of name column*/
data new_data;
set original_data;
second_word = scan (name, 2 );
run ;
/*view results*/
proc print data =new_data;
لاحظ أن العمود الجديد المسمى Second_word يحتوي على الكلمة الثانية من كل سلسلة في عمود الاسم .
مثال 2: استخراج الكلمة الأخيرة من السلسلة
يوضح التعليمة البرمجية التالية كيفية استخدام القيمة -1 في وظيفة المسح لاستخراج الكلمة الأخيرة من كل سلسلة في عمود الاسم :
/*extract last word in each row of name column*/
data new_data;
set original_data;
last_word = scan (name, -1 );
run ;
/*view results*/
proc print data =new_data;
لاحظ أن العمود الجديد المسمى last_word يحتوي على الكلمة الأخيرة من كل سلسلة في عمود الاسم .
مثال 3: استخراج كلمات متعددة من سلسلة
يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة المسح لاستخراج كل كلمة من كل سلسلة في عمود الاسم :
/*extract each word in each row of name column*/
data new_data;
set original_data;
first_word = scan (name, 1 );
second_word = scan (name, 2 );
third_word = scan (name, 3 );
run ;
/*view results*/
proc print data =new_data;
لاحظ أنه تم إنشاء ثلاثة أعمدة جديدة تحتوي على الكلمة الأولى والثانية والثالثة من كل سلسلة في عمود الاسم .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:
كيفية استخدام الدالة SUBSTR في SAS
كيفية استخدام وظيفة FIND في SAS
كيفية استخدام وظيفة COALESCE في SAS