2016-08-17 38 views
-1

集揚這樣告訴兩個可變的最高金額在兩個不同的數據集

cc spend 
1 100 
11 200 
12 550 
13 100 
14 200 

數據集二月這樣

cc spend 
1 100 
11 200 
12 550 
13 100 
在這個

,我們必須找到哪個月是銷售增長的數據集一月或數據集feb.first我們必須計算花費總和在1月&費用總和然後找到哪個更高。

我試試這個代碼

data jantotal; 
set jan; 
sum spend; 
run; 

data febtotal; 
set feb; 
sum spend; 
run; 

回答

0

我不知道你的最後階段是什麼,例如你想選擇一個數據集而不是另一個數據集還是僅僅想要哪個月的銷售額最高的摘要?

您可以從proc sql開始,使用proc sql創建輸出數據集total,每個月和花費總和。

proc sql; 
    create table total as 
    select "Jan" as month, sum(spend) as total 
    from jan 
    group by month 
     UNION 
    select "Feb" as month, sum(spend) as total 
    from feb 
     group by month; 
quit; 

如果您提供更多關於最終輸出結果的信息,我可以提供更多有用的代碼。

+0

我只想要哪個月的最高銷售總額與薩斯代碼不使用sql – bhavnish

+0

proc sql是sas代碼。上面的proc代碼將在sas中運行。或者你在尋找數據步驟?是否有你想使用數據步驟的原因? – Huw

0

您的代碼應該是這樣的:

data jantotal; 
    set jan end=last; 
    retain sum 0; /* this line is optional */ 
    sum + spend; 
    if last; 
    month = "jan"; 
    drop spend cc; 
run; 

data febtotal; 
    set feb end=last; 
    retain sum 0; /* this line is optional */ 
    sum + spend; 
    if last; 
    month = "feb"; 
    drop spend cc; 
run; 

之後,你應該串連數據集:

data total; 
    set jantotal febtotal; 
run; 

和排序結果:

proc sort data=total out=total_sorted; 
    by descending sum; 
run; 

我想在這裏創造一些宏程序自動化寫程序的過程。該解決方案與@Huw幾乎相同(結果),但代碼更長,並且使用的是datasteps而不是sql。

相關問題