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

وظيفة المسح الضوئي في SAS

لاحظ أن العمود الجديد المسمى 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

Add a Comment

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