全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1792 6
2013-08-13
初学SAS,处理一个星期内N个店的销售额报表,变量名为日期,由于日期每天都会变,每次使用程序都要修改日期变量名。

有没有办法可以用第几列,而不是用列名去计算的?


看到以前一个帖子说可以用Proc contents获取第N列的变量名,能否举个例子?

二维码

扫码加我 拉你入群

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

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

全部回复
2013-8-13 16:39:45
set data (firstobs=第几列 obs=到第几列)

if 列名=‘变量名’ then
二维码

扫码加我 拉你入群

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

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

2013-8-13 16:59:46
akakak123 发表于 2013-8-13 16:39
set data (firstobs=第几列 obs=到第几列)

if 列名=‘变量名’ then
你这个应该是
从第a观测到第b观测吧(或者说是行)

我需求的使用变量(知道该变量是位于数据集中第几列),但是不使用变量名
二维码

扫码加我 拉你入群

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

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

2013-8-13 20:29:02
ppsakwu 发表于 2013-8-13 16:59
你这个应该是
从第a观测到第b观测吧(或者说是行)
如果你知道要使用第几列的变量,比如说是第N个。
可以先用proc contents获得所有变量名,然后将第N个名字附给一个macro variable,以后引用该变量的时候就用这个macro variable去refer。

proc contents data = yourdata out = var noprint; run;
proc sql noprint;
    select NAME into :_SelectedVar from var where VARNUM = N; quit;
%put &_SelectedVar;
二维码

扫码加我 拉你入群

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

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

2013-8-14 17:23:56
不用proc contents,利用dictionary表也可以的。
二维码

扫码加我 拉你入群

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

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

2013-8-14 17:48:59
解决了,谢谢楼上2位
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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