単純ループ遍歴テーブルSAS
977 ワード
本プログラムの役割は,テーブル全体を遍歴し,テーブル内のデータを行単位で処理することである.
上記のようなループは通常のSASプログラミングで複数回使用されますので、ここでマークします.
%let id1=%sysfunc(open(DataTable,i)); // , id1
%let _Item_id=%sysfunc(varnum(&id1,Item_id)); // item_id
%let _decimal=%sysfunc(varnum(&id1,decimal)); // decimal
%do %while(%sysfunc(fetch(&id1)) eq 0); // ,sysfunc(fetch(&id1)) 0
%let Item_id=%sysfunc(getvarc(&id1,&_Item_id)); // n Item_id ,n id1
%let decimal=%sysfunc(getvarn(&id1,&_decimal)); // n decimal ,n id1
%put &Item_id &decimal; //
data tmp3_1;
set tmp3_1;
if item_id="&Item_id" then Refer_n=round(Refer_n,&decimal); // Item_id decimal
run;
%end; // do-while
%let rc=%sysfunc(close(&id1)); //
上記のようなループは通常のSASプログラミングで複数回使用されますので、ここでマークします.