全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2423 12
2010-04-01
表Store:
Store_id(pk)    City                Space
wh1                New York        370
wh2                Beijing            500
wh3                New York        200
wh4                London           400

表Employee:
Store_id(fk)     Emp_ID(pk)       Salary
wh1                e1                     1220
wh1                e3                     1210
wh2                e4                     1250
wh2                e6                     1230


需要得到结果:每个城市的 总Salary,总Space,在Store表中数量,在Employee表中数量,最大Salary 得出结果如下:
City             Tot.Salary                  Tot.Space            #Store     #Employee      Max Salary
New York     2430(1220+1210)       570(370+200)         2                2                   1220
Beijing         2480(1250+1230)       500                        1                2                   1250
London        .                                400                        1                0                   .



复制代码


我现在只能查询出
                                                                          The SAS System            

                                                               City      totsalary  Employee
                                                               儍儍儍儍儍儍儍儍儍儍儍儍儍儍儍儍儍儍儍?
                                                               Beijing        2480         2      1250
                                                               London            .           0         .
                                                               New.York     2430       2      1220

如果加上其他的选项的话就会狂出问题,谁能告诉我应该怎么做这个???
谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-1 09:15:21
这样写应该没有问题的。
data one;
input Store_id $ City $ Space;
cards;
wh1 New.York 370
wh2 Beijing 500
wh3 New.York 200
wh4 London 400
;
data two;
input Store_id $ Emp_ID $ Salary;
cards;
wh1 e1 1220
wh1 e3 1210
wh2 e4 1250
wh2 e6 1230
;
proc sort data=one;
by Store_id;
proc sort data=two;
by Store_id;
data total;
merge one two;
by Store_id;
data total1;
set total;
run;
proc sql;
select City,sum(salary) as totsalary ,count(Emp_id) as Store,count(emp_id) as Employee,max(salary) as Maxsalary  from total1  group by City ;
quit;
二维码

扫码加我 拉你入群

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

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

2010-4-1 09:15:51
[img][/img]
二维码

扫码加我 拉你入群

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

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

2010-4-1 09:17:42
运行的结果如下:
                                                      The SAS System             2010年04月01日 星期四 上午09时02分34秒   4

                                    City      totsalary     Store  Employee  Maxsalary
                                    --------------------------------------------------
                                    Beijing        2480         2         2       1250
                                    London            .         0         0          .
                                    New.York       2430         2         2       1220
二维码

扫码加我 拉你入群

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

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

2010-4-1 09:18:31
当然可以用连接来做,应该就简单一些了吧。
二维码

扫码加我 拉你入群

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

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

2010-4-1 09:22:24
我试过您的代码了,前面几个都可以哦,但是我还要加上STORE表CITY项的数量,我是想通过Store_id来实现的,但是把2个表合并后,count(Store_id)就会出错的,这个应该怎么解决呢……
比如
在Store表里面的New.York 数量是2 Beijing应该是1 London是1
也就是
Store
2
1
1
这样的~~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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