全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4374 6
2014-11-23
悬赏 10 个论坛币 已解决

各位高手,大家好啊!

我想请问一下,如何使用proc sql select模糊选择变量名, 从而创建子数据集?


具体程序如下:

data records;

   input winter number winner $ score window;

   datalines;

      1 1 bn 10 1

      3 78 abc 5 8

      6 4 yoo 6 9

   ;

run;



/*建立子数据集var_win*/

proc sql noprint;

   create tablevar_win as

      select win* /*需要实现的功能是从数据集里提取出包含共同prefix的变量(变量具体数目不确定, 变量之间不一定连续排列)*/

      from records;

quit;



/***实现后的子数据集***/

data var_win;

   input winter winner $ window;

   datalines;

      1 bn 1

      3 abc 8

      6 yoo 9

   ;

run;


这样的功能,如果用proc sql实现不了,那该用什么方法实现呢?

谢谢!



最佳答案

Tigflanker 查看完整内容

data _null_; set sashelp.Vcolumn(where=(libname='WORK' and memname='RECORDS')) end = last; if _n_ = 1 then call execute('data records_win;set records(keep='); if find(name,'win','i') then call execute(cats(name)); if last then call execute(');run;'); run;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-11-23 18:20:28
Tigflanker 发表于 2014-11-23 21:12
懒惰模式开启,押尾韵再说呵
data _null_;
  set sashelp.Vcolumn(where=(libname='WORK' and memname='RECORDS')) end = last;

  if _n_ = 1 then call execute('data records_win;set records(keep=');
  if find(name,'win','i') then call execute(cats(name));
  if last then call execute(');run;');
run;
二维码

扫码加我 拉你入群

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

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

2014-11-23 21:12:03
复制代码


懒惰模式开启,押尾韵再说呵
二维码

扫码加我 拉你入群

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

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

2014-11-24 01:01:51
Tigflanker 发表于 2014-11-23 21:23
data _null_;
  set sashelp.Vcolumn(where=(libname='WORK' and memname='RECORDS')) end = last;
这个算压尾韵的?:)
二维码

扫码加我 拉你入群

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

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

2014-11-27 17:17:26
Mark!Mark!
本文来自: 人大经济论坛 SAS专版 版,详细出处参考: https://bbs.pinggu.org/forum.php?mod=viewthread&tid=3410609&page=1&from^^uid=5696428Mark!
本文来自: 人大经济论坛 SAS专版 版,详细出处参考: https://bbs.pinggu.org/forum.php?mod=viewthread&tid=3410609&page=1&from^^uid=5696428Mark!
本文来自: 人大经济论坛 SAS专版 版,详细出处参考: https://bbs.pinggu.org/forum.php?mod=viewthread&tid=3410609&page=1&from^^uid=5696428
二维码

扫码加我 拉你入群

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

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

2014-11-28 09:42:03
Tigflanker 发表于 2014-11-23 18:20
data _null_;
  set sashelp.Vcolumn(where=(libname='WORK' and memname='RECORDS')) end = last;
学习了,谢谢大神~~
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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