楼主: jzplarry
7845 8

[原创博文] 在不知道sas数据集变量个数(即列数)时,如何取最后一列数据 [推广有奖]

  • 0关注
  • 2粉丝

已卖:66份资源

学科带头人

16%

还不是VIP/贵宾

-

威望
0
论坛币
1933 个
通用积分
34.3911
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
27210 点
帖子
2401
精华
0
在线时间
1176 小时
注册时间
2006-8-2
最后登录
2024-10-6

楼主
jzplarry 发表于 2010-12-20 16:41:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题!麻烦大家了,数据处理时碰到的问题。
因为不同的数据集有不同的列数,只想要最后一列,不知道怎么提取,谢谢大家!
二维码

扫码加我 拉你入群

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

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

关键词:sas数据集 数据集变量 变量个数 数据集 不知道 如何

回帖推荐

本帖被以下文库推荐

沙发
sopching 发表于 2010-12-20 20:45:55
  1. data sopching;
  2.       set a nobs=last point=last;
  3.       output;
  4.       stop;
  5. run;
复制代码

藤椅
novice505 发表于 2010-12-20 21:29:17
楼上是取最后一行观测吧。。
只保留最后一列数据么,用keep语句就ok了。假设最后一列变量名为last,原数据集名为a:
data b;
set a(keep=last);
run;

板凳
soporaeternus 发表于 2010-12-20 21:38:06
  1. proc contents data=sashelp.class out=t1(keep=name varnum);run;quit;

  2. data _null_;
  3.         set t1 nobs=nobs;
  4.         if varnum=nobs then do;
  5.                 call symput("LAST_VARNAME",name);
  6.                 stop;
  7.         end;
  8. run;
  9. %put &LAST_VARNAME;

  10. data t2;
  11.         set sashelp.class(keep=&LAST_VARNAME);
  12. run;
复制代码
已有 2 人评分学术水平 热心指数 收起 理由
Bridgenc + 1 + 1 精彩帖子
peijiamei + 1 精彩帖子

总评分: 学术水平 + 2  热心指数 + 1   查看全部评分

Let them be hard, but never unjust

报纸
tiantianfrm 发表于 2010-12-20 21:58:13
%let dsid=%sysfunc(open(sashelp.class,i));
%let nvars=%sysfunc(attrn(&dsid,NVARS));
%let last_var=sysfunc(getvarc(&dsid,&nvars));
data a;
set b;
keep &last_var;
run;

地板
elek.me 发表于 2010-12-20 22:31:12
可以调用sashelp的vcolumn,也可以调用dictionary的vcolumns。
  1. data _null_;
  2.         set sashelp.vcolumn;
  3.         by libname memname;
  4.         if libname="SASHELP" and memname="CLASS" and last.libname+last.memname=1 then call execute ('data want;set sashelp.class;keep '||name||';run;');
  5. run;
复制代码
已有 1 人评分论坛币 学术水平 收起 理由
论坛数据分析 + 100 + 2 精彩帖子

总评分: 论坛币 + 100  学术水平 + 2   查看全部评分

我的博客: http://elek.me/sas
联系我: http://about.me/elek

7
jzplarry 发表于 2010-12-21 09:08:43
专程感谢来了,十分感谢楼上几位兄弟的热心!!!
你们的解答帮我解决了问题,谢谢你们!

8
jzplarry 发表于 2010-12-21 09:11:48
有些看不懂,待我回去好好理解

9
lqwoailuo 发表于 2013-11-12 14:58:11

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

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