楼主: foxxm
1564 7

请教一个交叉频数的一个问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

23%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
137 点
帖子
10
精华
0
在线时间
16 小时
注册时间
2012-6-2
最后登录
2019-8-3

楼主
foxxm 发表于 2013-8-30 00:53:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
刚学习SAS,请教一个问题。
我有一个数据集,类似:

故障代码   生产月份  报修月份
101      200801      200801
103      200802      200802
104      200803      200803
.               .                  .
.               .                   .
.                .                  .

我想做成下面这样的表格,31、42、55代表上面的故障代码总数。
                    报修月份
生产月份       200801       200802          200803
200801            31                42                     55
200802             .                     .                         .
200803              .                   .                         .

麻烦各位能帮忙解决阿,非常感谢阿!!!急
二维码

扫码加我 拉你入群

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

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

关键词:非常感谢 数据集

沙发
foxxm 发表于 2013-8-30 08:53:44
自己顶一下,在线等。
希望有个功能和EXCLE数据透视图功能一样,我这个数据量太大,excle解决不了了

藤椅
yongyitian 发表于 2013-8-30 09:09:54
  1. data test;
  2.     array p{3} _temporary_  (200801, 200802, 200803);
  3.     array r{5} _temporary_  (200801, 200802, 200803, 200804, 200805);
  4.     array c{6} _temporary_  (101, 102, 103, 104, 105, 106);
  5.       do i = 1 to 200;  
  6.         c1 = int(ranuni(1234)* 3+1);  prod_date = p[c1];
  7.         c2 = int(ranuni(1234)* 5+1);   rep_date = r[c2];
  8.         c3 = int(ranuni(1234)* 6+1);       code = c[c3];
  9.         output;
  10.       end;
  11.     drop i c1 c2 c3;
  12. run;

  13. proc sql noprint;
  14.    create table test_1 as
  15.      select prod_date, rep_date, count(*) as num
  16.      from test
  17.      group by prod_date, rep_date;
  18. quit;

  19. proc transpose data=test_1 out=wanted(drop=_name_) prefix=m;
  20.     by prod_date;
  21.     id rep_date;
  22.     var num;
  23. run;
复制代码

板凳
foxxm 发表于 2013-8-30 10:04:46
yongyitian 发表于 2013-8-30 09:09
请问有没有其他方法呢,因为我也不知道有哪些生产月份和保修月份,数据也是系统实时更新的。我就想用SAS实现excel数据透视图的功能,谢谢

报纸
pobel 在职认证  发表于 2013-8-30 10:30:43
proc freq data=test;
  tables prod_date*rep_date;
  ods output CrossTabFreqs=freq(where=(^missing(prod_date) and ^missing(rep_date) ));
run;

proc transpose data=freq out=wanted(drop=_NAME_ _LABEL_);
   by prod_date;
   var frequency;
   id rep_date;
run;
和谐拯救危机

地板
yongyitian 发表于 2013-8-30 10:49:46
foxxm 发表于 2013-8-30 10:04
请问有没有其他方法呢,因为我也不知道有哪些生产月份和保修月份,数据也是系统实时更新的。我就想用SAS实 ...
其他方法还有 PROC FREQ, PROC MEAN, PROC SUMMARY, data step, and PROC SQL. 但都不是做透视图.

感觉应该有一个日期是固定的, 比如生产月份。其它日期可以更新。

做透视图可能需要一个  tableeditor 可一在这里下载.
support.sas.com/rnd/base/ods/odsmarkup/tableeditor/index.html

7
foxxm 发表于 2013-8-30 11:17:24
yongyitian 发表于 2013-8-30 10:49
其他方法还有 PROC FREQ, PROC MEAN, PROC SUMMARY, data step, and PROC SQL. 但都不是做透视图.

感觉 ...
是的,生产日期固定,维修日期变化,网址里有透视图的方法吗,我看没有阿,请指教

8
yongyitian 发表于 2013-8-30 11:40:12
foxxm 发表于 2013-8-30 11:17
是的,生产日期固定,维修日期变化,网址里有透视图的方法吗,我看没有阿,请指教
网页最下面是 create Excel Pivot Tables. 不好意思, 没用过.

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

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