全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1270 4
2012-07-24
悬赏 20 个论坛币 已解决
下面这个文件SURVEY,内容如下。注意,每个ID出现两次。

DATA SURVEY;
INPUT ID income hight;
DATALINES;
1 2.4 19
1 3.2 27
2 2.6 21
2 1.8 13
3 3.1 26
3 2.4 19
4 2.6 21
4 1.8 13
5 2.1 16
5 2.5 20
6 3.3 28
6 2.7 22
7 1.9 14
7 3.2 27
8 2.5 20
8 2.7 22
9 1.9 14
9 2.2 17
10 3.1 26
10 2.1 16
;
RUN;

下面这个文件SELECT只包含ID信息。注意,有的ID出现1次或者多次,有的ID没有出现。

DATA SELECT;
INPUT ID;
DATALINES;
1
1
2
3
3
3
3
8
8
10
;
RUN;

本人需要根据文件SURVEY和文件SELECT来生成一个新的文件SIMULATE. 文件SIMULATE生成规则如下:如果SELECT文件出现某个ID一次,那么需将SURVEY文件中此ID的两条数据输出到文件SIMULATE。最后文件SIMULATE将会如下:

1 2.4 19
1 3.2 27
1 2.4 19
1 3.2 27
2 2.6 21
2 1.8 13
3 3.1 26
3 2.4 19
3 3.1 26
3 2.4 19
3 3.1 26
3 2.4 19
3 3.1 26
3 2.4 19
8 2.5 20
8 2.7 22
8 2.5 20
8 2.7 22
10 3.1 26
10 2.1 16

现在求助,如何根据文件SURVEY和文件SELECT来生成这个新的文件SIMULATE?注意,实际上用的文件包含上千条的数据,所以需要SAS程序,还望大侠鼎力相助。问题若有描述不清,可以按照理解,自由发挥,本人依将感激不尽。

最佳答案

chendonghui1987 查看完整内容

proc sql noprint; create table work.result as select a.* from work.survey as a,work.select as b where a.id = b.id; quit;
二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-24 12:19:07
proc sql noprint;
        create table work.result as
                select a.*
                from work.survey as a,work.select as b
                where a.id = b.id;
quit;
二维码

扫码加我 拉你入群

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

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

2012-7-24 13:24:54
复制代码
二维码

扫码加我 拉你入群

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

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

2012-7-24 13:27:10
hcydlee 发表于 2012-7-24 13:24
the name of dataset "select"  was the same as the reserved name of SQL. rename it as select1.
二维码

扫码加我 拉你入群

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

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

2012-7-24 13:37:22
create a Cartesian product of select and survey by id .
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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