楼主: ertyuj
1308 4

[原创博文] 求助:如何根据两个数据文件的信息来生成一个新的数据文件 [推广有奖]

  • 0关注
  • 1粉丝

已卖:7份资源

硕士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
254 个
通用积分
0.7615
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
-351 点
帖子
136
精华
0
在线时间
164 小时
注册时间
2007-2-7
最后登录
2022-3-17

楼主
ertyuj 发表于 2012-7-24 12:19:06 |AI写论文
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;
关键词:数据文件 simulate Survey Select Income 如何 信息 澳门

沙发
chendonghui1987 发表于 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;

藤椅
hcydlee 发表于 2012-7-24 13:24:54
  1. proc sql ;
  2.         create table simulate as
  3.             select select1.id , income ,hight
  4.                 from select1 left join survey
  5.                 on select1.id=survey.id
  6.                 order by select1.id;
  7. run;
复制代码
80 字节以内
不支持自定义 Discuz! 代码

板凳
hcydlee 发表于 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.
80 字节以内
不支持自定义 Discuz! 代码

报纸
hcydlee 发表于 2012-7-24 13:37:22
create a Cartesian product of select and survey by id .
80 字节以内
不支持自定义 Discuz! 代码

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

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