楼主: wangyixp
973 7

[学习分享] 新手请教一个问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

57%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
108 点
帖子
9
精华
0
在线时间
0 小时
注册时间
2013-5-30
最后登录
2013-6-1

楼主
wangyixp 发表于 2013-5-30 12:22:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人是新学SAS软件,听了不少视频讲解,听听貌似理解了,但是在实际运用时还是多少不知道如何运用,如下的题目不知道怎么做,还盼大神们能帮忙教导下,谢谢!
原表如下所示:
cust_no product_no pro_amount
1 2 200
1 1 300
1 3 200
2 2 300
2 3 200
2 1 100
3 1 200
3 2 100
4 1 600
5 2 500

1、实现如下查询的功能:将product_no同时为1和2的客户清单列出
cust_no product_no pro_amount
1 1 300
1 2 200
2 1 100
2 2 300
3 1 200
3 2 100

2、实现如下所示的查询功能:
cust_no pro_amount1 pro_amount2 pro_amount3
1 300 200 200
2 100 300 200
3 200 100 .
4 600 .   .
5 .   500 .
二维码

扫码加我 拉你入群

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

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

关键词:Product amount produc sas软件 prod 如何 软件

沙发
可~乐 发表于 2013-5-30 13:38:34
  1. data test;
  2. input cust_no $ product_no $ pro_amount;
  3. cards;
  4. 1 2 200
  5. 1 1 300
  6. 1 3 200
  7. 2 2 300
  8. 2 3 200
  9. 2 1 100
  10. 3 1 200
  11. 3 2 100
  12. 4 1 600
  13. 5 2 500
  14. ;
  15. run;

  16. proc sort data=test;
  17.         by cust_no product_no;
  18. run;

  19. proc sql noprint;
  20.         create table want as select
  21.         *
  22.         from test
  23.         where product_no in ("1","2")
  24.         group by cust_no
  25.         having count(cust_no)>1;
  26. quit;

  27. proc transpose data=test out=wanted(drop=_name_) prefix=pro_amount;
  28.         by cust_no;
  29.         var pro_amount;
  30.         id product_no;
  31. run;
复制代码

藤椅
画纱无形 发表于 2013-5-30 14:07:41
学习啦

板凳
画纱无形 发表于 2013-5-30 14:16:19
data a;
input cust_no product_no pro_amount;
  cards;
1 2 200
1 1 300
1 3 200
2 2 300
2 3 200
2 1 100
3 1 200
3 2 100
4 1 600
5 2 500
;
run;
data abc;
  set a;
  if product_no=1 or product_no=2;
;
proc sort data=abc;
  by cust_no product_no descending pro_amount;
run;

报纸
boe 发表于 2013-5-30 14:49:32
借2#测试数据集
第一个问题,仅供参考:
  1. data need;
  2.   set test;
  3.   by cust_no;
  4.   where product_no in ("1","2");
  5.   if first.cust_no ^= last.cust_no;
  6. run;
复制代码
Gorgeous girl , I love !

地板
wangyixp 发表于 2013-5-30 21:23:56
非常感谢楼上的大神们,但是第二个怎么做呢?

7
wangyixp 发表于 2013-5-30 22:02:59
画纱无形 发表于 2013-5-30 14:16
data a;
input cust_no product_no pro_amount;
  cards;
你好,你的这个只是筛选出了product是1或者2的数据,但是题目是有5个客户,要求输出product中同时包含1和2的客户,cust4和5都是只有1或者2,并不是同时包含1和2,所以你这个步肯定不对的,但是还是非常感谢你的回复,希望能互相学习

8
wangyixp 发表于 2013-5-30 22:27:05
boe 发表于 2013-5-30 14:49
借2#测试数据集
第一个问题,仅供参考:
非常感谢你的回复,因为我是新手,所以还是有点问题向要请教大神,最后那个
  if first.cust_no ^= last.cust_no;
这段没有理解,能否解释一下呢?麻烦了,谢谢!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 10:43