全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2228 14
2012-09-27
各位大虾,现在要给订单中水果的各种组合计数,我要崩溃了,请高人帮忙吧

订单如下:大概是同一个客人在同一天可能挑几种不同的水果买。总共有很多水果,客人是随便买的,但有的水果组合出现的次数比别的组合高。将同一个客人在同一天购买的几种水果视为一个组合。
要统计的结果:
1、计算所有水果组合的出现总次数,找出最受欢迎的组合。
2、制成一个水果二维表。对角线表示组合里只有一种水果(同一个客人在同一天即只买了此种水果)。其他表示组合里同时出现这两种水果的次数。(当然有的人一天买多于2种)

表结构:
fruit  apple  kiwi ... grape      
apple  组合里只有苹果              
kiwi                                 
.                                    
.                                 
grape  组合里同时有苹果和葡萄的次数


订单部分如下:
customer   fruit       qty     date        
001        apple       17     20120101     
001        kiwi        17     20120101     
001        grape       17     20120101     
001        pear        23     20120129     
001        banana      10     20120211     
001        kiwi        10     20120211     
001        pear        15     20120211     
001        pear        15     20120222     
001        banana      10     20120222     
001        lemon       22     20120711     
002        kiwi        22     20120217     
002        kiwi        29     20120320     
002        corn        29     20120320     
002        peach       29     20120320     
002        pear        15     20120322     
002        banana      10     20120322     
002        grape       22     20120424     
002        orange      29     20120424     
002        banana      29     20120424     
002        peach       29     20120424     
003        pear        15     20120122     
003        banana      10     20120122     
003        apple       11     20120201     
003        plum        11     20120211     
003        kiwi        11     20120201     
003        grape       11     20120201     
003        cherry      24     20120213     
003        apple       32     20120213     
003        grape       44     20120412     
003        pear        15     20120922     
003        banana      10     20120922     
004        pineapple   12     20120206     
004        plum        31     20120219     
004        banana      29     20120424     
004        peach       29     20120424     
004        pear        15     20120424     
004        pear        15     20120522     
004        banana      10     20120522     
004        apple       22     20120601     
004        kiwi        22     20120601     
004        grape       22     20120601     
005        cherry      24     20120203     
005        apple       32     20120203     
005        pear        15     20120322     
005        banana      10     20120322     
005        orange      20     20120411     
005        cherry      30     20120421     
005        apple       22     20120601     
005        kiwi        22     20120601     
005        grape       22     20120601     
005        kiwi        25     20120616     
005        grape       25     20120616


非常感谢提供帮助的人。我争取给 每个提供帮助的人 都评分+1。  (每种评分每天限20分)





二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-27 19:22:41
data test;
input customer $   fruit $       qty     date : yymmdd8.;
cards;
001        apple       17     20120101     
001        kiwi        17     20120101     
001        grape       17     20120101     
001        pear        23     20120129     
001        banana      10     20120211     
001        kiwi        10     20120211     
001        pear        15     20120211     
001        pear        15     20120222     
001        banana      10     20120222     
001        lemon       22     20120711     
002        kiwi        22     20120217     
002        kiwi        29     20120320     
002        corn        29     20120320     
002        peach       29     20120320     
002        pear        15     20120322     
002        banana      10     20120322     
002        grape       22     20120424     
002        orange      29     20120424     
002        banana      29     20120424     
002        peach       29     20120424     
003        pear        15     20120122     
003        banana      10     20120122     
003        apple       11     20120201     
003        plum        11     20120211     
003        kiwi        11     20120201     
003        grape       11     20120201     
003        cherry      24     20120213     
003        apple       32     20120213     
003        grape       44     20120412     
003        pear        15     20120922     
003        banana      10     20120922     
004        pineapple   12     20120206     
004        plum        31     20120219     
004        banana      29     20120424     
004        peach       29     20120424     
004        pear        15     20120424     
004        pear        15     20120522     
004        banana      10     20120522     
004        apple       22     20120601     
004        kiwi        22     20120601     
004        grape       22     20120601     
005        cherry      24     20120203     
005        apple       32     20120203     
005        pear        15     20120322     
005        banana      10     20120322     
005        orange      20     20120411     
005        cherry      30     20120421     
005        apple       22     20120601     
005        kiwi        22     20120601     
005        grape       22     20120601     
005        kiwi        25     20120616     
005        grape       25     20120616
;

proc sql;
   create table test1 as
    select distinct l.customer, l.fruit,r.fruit as fruit1
          from test as l, test as r
          where l.customer=r.customer and l.date=r.date;

   create table test2 as
     select distinct fruit,fruit1,count(*) as number
          from test1
          group by fruit,fruit1;

   create table all as
    select *
        from (select distinct fruit from test),
             (select distinct fruit as fruit1 from test);
quit;

data test2;
    merge all test2;
        by fruit fruit1;
        if missing(number) then number=0;
run;

proc transpose data=test2 out=test3(drop=_name_);
    by fruit;
        id fruit1;
        var number;
run;
二维码

扫码加我 拉你入群

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

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

2012-9-27 19:23:05
提个建议哈,1.把你的问题设置成悬赏帖,估计应者会有几个。2.你的水果组合里是每种水果就一个还是可以有很多种。还有就是2苹果+1梨和2苹果+2梨是不是可视为同一组合。3.你的水果组合表是分顾客制表吧?4.最后,你想要的是什么:算法?你提供数据,想请人分析结果?
二维码

扫码加我 拉你入群

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

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

2012-9-27 19:23:39
ding
二维码

扫码加我 拉你入群

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

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

2012-9-27 19:36:34
pobel 发表于 2012-9-27 19:22
data test;
input customer $   fruit $       qty     date : yymmdd8.;
cards;
感谢 POBEL , 你已经连续回复我好几个求助程序的帖子。活雷锋!!!
我会将验证结果回复给你。
再次衷心感谢! 下次我要将帖子设置为有奖励的。不然觉得有点儿对不住您
二维码

扫码加我 拉你入群

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

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

2012-9-27 19:38:32
nuomin 发表于 2012-9-27 19:23
提个建议哈,1.把你的问题设置成悬赏帖,估计应者会有几个。2.你的水果组合里是每种水果就一个还是可以有很 ...
你的建议很好。以后我请教的帖子尽量设置为 悬赏帖。
以后每天登录,攒经验,换money
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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