全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2129 1
2022-05-30
各位好,我写了一段宏,希望求得数据集中每个变量有多少不同的分值,%put &R_D11.&R_F11.就可以显示出结果,但是
%put &R_%scan(&XVar,1);就报错:WARNING: 没有解析符号引用 R_。
以下是我写的代码
%macro InfValue(DSin, XVar);
%do i=1 %to %sysfunc(countw(&XVar));
proc freq data=&data noprint;  
table %scan(&XVar,&i)*dql3_flag /missing out=Temp_freqs_%scan(&XVar,&i);
table %scan(&XVar,&i) /out=Temp_Xcats_%scan(&XVar,&i);
run;

proc sql ;
  /* Count the number of obs and categories of X */

%local  R_%scan(&XVar,&i) N;
   select count(*) into:  R_%scan(&XVar,&i) from temp_Xcats_%scan(&XVar,&i);  /*171*/
   select count(*) into:  N from &data; /*4305*/
quit;
%end;

%do i=1 %to %sysfunc(countw(&XVar));
data _Null_;
  set temp_Xcats_%scan(&XVar,&i);
   call symput("CatX_%scan(&XVar,&i)_"||compress(_N_), %scan(&XVar,&i));
run;
%end;
%put &CatX_D11_1;
%put &R_D11.&R_F11.;
%put &R_%scan(&XVar,1);

%mend;



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-6-29 17:09:24
XVar是这个宏的输入变量,需要在宏外赋值,这宏是不是你写的。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群