楼主: caibirdcnb
5794 11

[问答] 请问高手怎么使用列数代替列名(变量名)啊?谢谢! [推广有奖]

11
Tigflanker 发表于 2016-1-14 09:31:58
  1. /*不妨假设你的数据集在WORK集,你想做其他library的可以自行填充一些设置*/
  2. data class;
  3.   set sashelp.class;
  4. run;

  5. %macro column(in = , id = );
  6. %let vc=%sysfunc(open(sashelp.vcolumn(where=(libname = 'WORK' and memname = upcase("&in.")))));
  7. %let rc=%sysfunc(fetchobs(&vc,&id.));
  8.   %sysfunc(getvarc(&vc,%sysfunc(varnum(&vc,name))));
  9. %let rc=%sysfunc(close(&vc));
  10. %mend;

  11. data test;
  12.   set class;

  13.   X = %column(in = class, id = 1);
  14. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
孤单的我们 + 5 + 2 + 2 + 2 fetchobs+getvarc,涨姿势了

总评分: 论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

12
caibirdcnb 发表于 2016-1-15 14:40:15
感谢楼上!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 12:55