楼主: lovelybetty1208
3461 12

[原创博文] sas 中2个变量值相同情况下,另一变量计数问题 [推广有奖]

  • 0关注
  • 1粉丝

博士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
97 个
通用积分
0
学术水平
1 点
热心指数
5 点
信用等级
1 点
经验
17473 点
帖子
294
精华
0
在线时间
147 小时
注册时间
2011-11-5
最后登录
2015-7-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有三列数据, 生产流程代码,产品,生产日期

1001,101,28-JUN-2012      
1001,102,28-JUN-2012      
1001,103,28-JUN-2012      
1001,104,05-JUL-2012      
1001,302,11-JUL-2012      
1001,104,11-JUL-2012      
1001,102,12-JUL-2012      
1002,104,28-JUN-2012      
1002,102,02-JUL-2012      
1002,505,16-JUL-2012      
1002,506,16-JUL-2012      
1003,505,29-JUN-2012      
1003,506,29-JUN-2012      
1003,104,09-JUL-2012      
1003,201,17-JUL-2012      
1004,401,29-JUN-2012      
1004,701,06-JUL-2012      
1004,301,06-JUL-2012      
1004,104,13-JUL-2012      
1004,102,13-JUL-2012      
1005,101,30-JUN-2012      
1005,102,30-JUN-2012      
1005,103,30-JUN-2012      
1005,104,18-JUL-2012      
1005,102,18-JUL-2012      
1006,301,30-JUN-2012      

特点是 同一天可能有不同的流程,每个流程每次出现时可能产生不同的产品。
现在我想统计处不同产品的相关性,此相关性仅限于同一天的同一流程下。
想计算出每个产品在同一天的同一流程里,最可能伴随出现的产品有哪些? 并计算出频率。
最后生产的表格是 行与列都是所有产品id,第一行为
生产产品101后在同一天的同一流程里生产101(空集)102(1)103(0)。。。。

请高数指教程序该怎样写呢?是否要用到宏?

小弟拜谢了!!!!
二维码

扫码加我 拉你入群

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

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

关键词:变量值 生产流程 Jul 相关性 产品

回帖推荐

pobel 发表于8楼  查看完整内容

data test; infile cards dlm=","; input id $ product $ date : $12.; cards; 1001,101,28-JUN-2012 1001,102,28-JUN-2012 1001,103,28-JUN-2012 1001,104,05-JUL-2012 1001,302,11-JUL-2012 1001,104,11-JUL-2012 1001,102,12-JUL-2012 1002,104,28-JUN-2012 1002,102,02-JUL-2012 1002,505,16-JUL-2012 1002,506,16-JUL-2012 ...

本帖被以下文库推荐

沙发
lovelybetty1208 发表于 2012-9-20 12:15:51 |只看作者 |坛友微信交流群
请高手帮忙啊
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

藤椅
lovelybetty1208 发表于 2012-9-20 12:46:48 |只看作者 |坛友微信交流群
ding
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

板凳
nomad5 发表于 2012-9-20 13:02:17 |只看作者 |坛友微信交流群
没理解结果要什么样子。
给个结果的模板吧

使用道具

报纸
lovelybetty1208 发表于 2012-9-20 13:19:04 |只看作者 |坛友微信交流群
nomad5 发表于 2012-9-20 13:02
没理解结果要什么样子。
给个结果的模板吧
        101        102        103        104        201        301        302        303        505        506        601        701        801        901        911
101        .        2        2        0        0        0        0        0        0        0        0        0        0        0        0
102        2        .        2        2        0        0        0        0        0        0        0        0        0        0        0
103        2        2        .        0        0        0        0        0        0        0        0        0        0        0        0
104        0        2        0        .        0        0        1        0        0        0        0        0        0        0        0
201        0        0        0        0        .        0        0        0        0        0        0        0        0        0        0
301        0        0        0        0        0        .        0        0        0        0        0        1        0        0        0
302        0        0        0        1        0        0        .        0        0        0        0        0        0        0        0
303        0        0        0        0        0        0        0        .        0        0        0        0        0        0        0
505        0        0        0        0        0        0        0        0        .        2        0        0        0        0        0
506        0        0        0        0        0        0        0        0        2        .        0        0        0        0        0
601        0        0        0        0        0        0        0        0        0        0        .        0        0        0        0
701        0        0        0        0        0        1        0        0        0        0        0        .        0        0        0
801        0        0        0        0        0        0        0        0        0        0        0        0        .        0        0
901        0        0        0        0        0        0        0        0        0        0        0        0        0        .        0
911        0        0        0        0        0        0        0        0        0        0        0        0        0        0        .
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

地板
lovelybetty1208 发表于 2012-9-20 13:20:15 |只看作者 |坛友微信交流群
nomad5 发表于 2012-9-20 13:02
没理解结果要什么样子。
给个结果的模板吧
预设的结果如下:
        101        102        103        104        201        301        302        303        505        506        601        701        801        901        911
101        .        2        2        0        0        0        0        0        0        0        0        0        0        0        0
102        2        .        2        2        0        0        0        0        0        0        0        0        0        0        0
103        2        2        .        0        0        0        0        0        0        0        0        0        0        0        0
104        0        2        0        .        0        0        1        0        0        0        0        0        0        0        0
201        0        0        0        0        .        0        0        0        0        0        0        0        0        0        0
301        0        0        0        0        0        .        0        0        0        0        0        1        0        0        0
302        0        0        0        1        0        0        .        0        0        0        0        0        0        0        0
303        0        0        0        0        0        0        0        .        0        0        0        0        0        0        0
505        0        0        0        0        0        0        0        0        .        2        0        0        0        0        0
506        0        0        0        0        0        0        0        0        2        .        0        0        0        0        0
601        0        0        0        0        0        0        0        0        0        0        .        0        0        0        0
701        0        0        0        0        0        1        0        0        0        0        0        .        0        0        0
801        0        0        0        0        0        0        0        0        0        0        0        0        .        0        0
901        0        0        0        0        0        0        0        0        0        0        0        0        0        .        0
911        0        0        0        0        0        0        0        0        0        0        0        0        0        0        .
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

7
lovelybetty1208 发表于 2012-9-20 13:24:20 |只看作者 |坛友微信交流群
结果说明: 对角线上应为空。有产品101时,相同日期和批次下,曾有两次出现102和103, 所以次数分别为2。505 和506 也是这样。301 和701 在日期相同批次相同的情况下,出现过一次,所以次数为1。其他没有同时同批次出现的为0。

不知这样解释大家明白吗?
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

8
pobel 在职认证  发表于 2012-9-20 13:44:06 |只看作者 |坛友微信交流群
data test;
   infile cards dlm=",";
   input id $ product $ date :  $12.;
   cards;
1001,101,28-JUN-2012      
1001,102,28-JUN-2012      
1001,103,28-JUN-2012      
1001,104,05-JUL-2012      
1001,302,11-JUL-2012      
1001,104,11-JUL-2012      
1001,102,12-JUL-2012      
1002,104,28-JUN-2012      
1002,102,02-JUL-2012      
1002,505,16-JUL-2012      
1002,506,16-JUL-2012      
1003,505,29-JUN-2012      
1003,506,29-JUN-2012      
1003,104,09-JUL-2012      
1003,201,17-JUL-2012      
1004,401,29-JUN-2012      
1004,701,06-JUL-2012      
1004,301,06-JUL-2012      
1004,104,13-JUL-2012      
1004,102,13-JUL-2012      
1005,101,30-JUN-2012      
1005,102,30-JUN-2012      
1005,103,30-JUN-2012      
1005,104,18-JUL-2012      
1005,102,18-JUL-2012      
1006,301,30-JUN-2012
;

proc sql;
   create table test1 as
     select distinct product, product1,count(* ) as number
       from test,test(rename=(id=id1 product=product1 date=date1))
        where id=id1 and date=date1 and product ne product1
                group by product,product1
        order by product,product1;
      create table all as
            select distinct *
                  from (select distinct product from test)
                     ,(select distinct product as product1 from test)
             order by product,product1;
quit;

data test2;
    merge all test1;
        by product product1;
        if missing(number) then number=0;
        if product=product1 then number=.;
run;


proc transpose data=test2 out=test3;
   by product;
   id product1;
   var number;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
lovelybetty1208 + 1 + 1 + 1 分析的有道理

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

和谐拯救危机

使用道具

9
lovelybetty1208 发表于 2012-9-20 13:56:08 |只看作者 |坛友微信交流群
pobel 发表于 2012-9-20 13:44
data test;
   infile cards dlm=",";
   input id $ product $ date :  $12.;
好像 where 后面的 条件没有都发挥做用,这是为什么呢?
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

10
lovelybetty1208 发表于 2012-9-20 16:39:53 |只看作者 |坛友微信交流群
pobel 发表于 2012-9-20 13:44
data test;
   infile cards dlm=",";
   input id $ product $ date :  $12.;
学长,实际运行后,日志显示设计到笛卡尔乘积。我也发现count的个数有些灭有考虑在同一天的情况。
请问要怎么修改呢?
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 11:53