楼主: 温小样儿
1132 2

编程问题 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

大专生

46%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
326 点
帖子
38
精华
0
在线时间
27 小时
注册时间
2014-4-16
最后登录
2015-1-31

楼主
温小样儿 发表于 2014-5-8 17:17:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据集A为:         
city    sales            
a         10
b         20
b         30
c         40
c         50      

数据集B为:
city     kind
a         1
b         2
c         3


请写出两个数据集按照city进行连接的代码,并求出每个城市的sales总量。




已经有人用了一种proc sql的方法,但是有点难我觉得,有没有其他的方法呢
proc sql;
create table wanted as
select city,kind, sum(sales) as sumsales from
(select a.*,b.kind from a join b on a.city=b.city)
group by 1,2;
quit;


二维码

扫码加我 拉你入群

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

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

关键词:proc sql Select wanted Create sales create wanted

沙发
mingfeng07 学生认证  发表于 2014-5-8 20:47:24
你也可以先求城市sale总量,再合并。
  1. proc sql;
  2. create table c as select city,sum(sales) as sum_sales from a group by city;
  3. quit;
  4. proc sql;
  5. create table d as select b.city,kind,sum_sales from c join b on b.city=c.city;
  6. quit;
复制代码
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

藤椅
akakak123 发表于 2014-5-9 17:15:55
  1. data c;
  2. merge a b;
  3. by city;
  4. retain sum;
  5. if first.city then sum=0;
  6. sum=sum+sales;
  7. run;
复制代码

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

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