كيفية استخدام بيان %let في sas (مع أمثلة)
يمكنك استخدام عبارة %LET في SAS لإنشاء متغيرات ماكرو يمكنها تخزين القيم التي يمكنك استخدامها لاحقًا في برنامجك.
توضح الأمثلة التالية طريقتين شائعتين لاستخدام عبارة %LET عمليًا.
مثال 1: استخدم تعليمات %LET لتخزين قيمة رقمية في SAS
لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي تحتوي على معلومات حول العديد من لاعبي كرة السلة:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run;
/*view dataset*/
proc print data =my_data;
يمكننا استخدام عبارة %LET لإنشاء متغير ماكرو يسمى Points_cutoff والذي تبلغ قيمته 20 .
يمكننا بعد ذلك الإشارة إلى هذا المتغير لاحقًا باستخدام علامة العطف ( & ) أمامه لإنشاء مجموعة بيانات جديدة تحتوي على عمود جديد يشير إلى ما إذا كان كل لاعب قد سجل أكثر من 20 نقطة أم لا:
/*assign value of 20 to macro variable*/
%let points_cutoff = 20;
/*use macro variable to create new column called good_player*/
data new_data;
set my_data;
good_player = points > &points_cutoff;
run ;
/*view new dataset*/
proc print data = new_data;
لاحظ أن العمود الجديد المسمى good_player يحتوي على قيمة 1 إذا كانت قيمة عمود النقاط أكبر من 20 أو قيمة 0 إذا كانت قيمة عمود النقاط لا تزيد عن 20 .
مثال 2: استخدم عبارة %LET لتخزين قيمة السلسلة في SAS
يمكننا أيضًا استخدام عبارة %LET في SAS لإنشاء متغير ماكرو يخزن قيمة سلسلة.
يوضح التعليمة البرمجية التالية كيفية استخدام عبارة %LET لإنشاء متغير يسمى table_title الذي يحتوي على قيمة “بيانات كرة السلة” التي يمكننا بعد ذلك الرجوع إليها لاحقًا لطباعة عنوان لمجموعة البيانات:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run ;
/*assign string to macro variable*/
%let table_title = " Basketball Data ";
/*print dataset with title*/
proc print data =my_data;
title &table_title;
run ;
تحتوي مجموعة البيانات على العنوان الذي حددناه في متغير الماكرو.
ملاحظة : يمكنك العثور على الوثائق الكاملة لتعليمات SAS LET هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:
كيفية استخدام ملخص الإجراء في SAS
كيفية استخدام Proc Tabulate في SAS
كيفية استخدام ترتيب Proc في SAS