作者tew (咖啡王子)
看板Statistics
標題Re: [程式] sql 如何執行「後項減前項」?
時間Tue Dec 26 11:05:45 2017
※ 引述《paranoia5201 (社會黑暗、行路難)》之銘言:
: [軟體程式類別]:SAS SQL
: [程式問題]:就是後項減前項,詳細請看下面說明
: [軟體熟悉度]:
: 熟悉
: [問題敘述]:
: A病
: 年度 發生率 發生人數 人數增減
: 2011 4.4 1,460 -
: 2012 4.9 1,640 180
: 2013 5.6 1,959 319
: 2014 5.3 1,892 -67
: 2015 5.4 1,991 99
: 現有檔案已經有歷年發生率與發生人數,人數增減為前後兩年度的差額,如:
: 180 = 1640 - 1460
: 319 = 1659 - 1640
: -67 = 1892 - 1959
: 99 = 1991 - 1892
: 不知道該如何計算並呈現人數增減欄位,想請指教程式的寫法。
: [程式範例]:
: /* 前項減後項、未成功之寫法 */
: /* 檔案名稱為bcc */
: proc sql;
: select a.*, (a.TotalCase - b.TotalCase)
: from bcc a
: join bcc b on year(a.TotalCase) = year(b.TotalCase) – 1;
: quit;
: /* 程式執行之結果 */
: year 發生率 發生人數 (人數增減) (數字來源)
: 2010 4.58 1457 -183 =1457 – 1640
: 2011 4.43 1460 -180 =1460 – 1640
: 2012 4.9 1640 -319 =1640 – 1959
: 2012 4.9 1640 -351 =1640 – 1892
: 2012 4.9 1640 -252 =1640 – 1991
: 邏輯似乎正確,但是結果錯誤……。懇請解答!
proc sql;
select a.*, a.totalcase-b.totalcase
from bcc as a,bcc as b
where a.year=b.year-1;
quit;
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.72.30.154
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Statistics/M.1514257548.A.6AE.html
1F:推 paranoia5201: 成功了!非常感謝。 12/26 21:20