2015-06-03 79 views
-1

地獄大家 -SAS查找數據集頂級組合

我有一些銷售數據,看起來像這樣:

data have; 
    input order_id item $; 
cards; 
1 A 
1 B 
2 A 
2 C 
3 B 
4 A 
4 B 
; 
run; 

我試圖找出是什麼是最流行的組合訂購物品。例如,在上述情況下,有2個訂單包含項目A & B,1個訂單的A & C和1個B的訂單。輸出不同組合的最佳方式以及所下訂單的數量是多少?

回答

2

似乎沒有置換的問題,你可以試試這個:

proc sort data=have; 
by order_id item; 
run; 

data temp; 
    set have; 
    by order_id; 
    retain comb; 
    length comb $4; 
    comb=cats(comb,item); 
    if last.order_id then do; 
    output; 
    call missing(comb); 
    end; 
run; 

proc freq data=temp; 
    table comb/norow nopercent nocol nocum; 
run; 
+0

其實置換是一個問題 - 你會如何建議解決? – davids12

+0

不要做排序程序,其他人都一樣。 –

1

有很多可能的方法來解決這個問題,我不會假設哪個是最好的。這裏有一個相當簡單的方法可以使用:

  1. 轉置數據,以便每個訂單隻有1行,每個產品都有一個指示變量。
  2. 將轉置數據集輸入proc corr以產生指示變量的相關矩陣,並尋找最強的相關性。