Re: [程式] SAS巨集程式碼寫法問題

看板Statistics作者 (咖啡王子)時間9年前 (2016/11/03 16:31), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《blizzard258 (鯛魚燒)》之銘言: : [軟體程式類別]: : SAS : [程式問題]: : 資料處理 : [軟體熟悉度]: : 新手 : [問題敘述]: : 目前我有兩筆資料分別為(甲)和(乙), : 我想抓每人起始年(startyear)到結束年(endyear)的對應地區暴露值(expose), : 例如:A是對應area北區,2002年~2005年的暴露值平均為(25+32+43+52)/4=38, : B是對應area北區,2003年~2006年的暴露值平均為(32+43+52+57)/4=46, : C是對應area南區,2007年~2008年的暴露值平均為(90+20)/2=55。 : 最終資料的格式理想上應該會像(丙)一樣。 : 由於目前才學到基礎的巨集, : 在嘗試過很多次之後都失敗, : 因此希望各位前輩能過幫忙解惑XD 不需要用到macro 這個使用sql就可以 以下 a=甲檔案 b=乙檔案 c就是你的丙檔案 proc sql; create table c as select distinct a.*,mean(b.expose) as average_expose from a,b where a.area=b.area and a.id=b.id and a.startyear<= b.year<=a.endyear group by a.area,a.id,a.startyear,a.endyear -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.72.30.154 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1478161860.A.2D5.html

11/05 01:28, , 1F
你好!真的很感謝你的回覆!
11/05 01:28, 1F

11/05 01:28, , 2F
我在試過之後,發現真的能用此方法。
11/05 01:28, 2F

11/05 01:28, , 3F
結果非常的理想!
11/05 01:28, 3F

11/05 01:28, , 4F
沒想到sql這麼的好用!
11/05 01:28, 4F

11/05 01:28, , 5F
你真的很厲害!
11/05 01:28, 5F

11/05 01:28, , 6F
非常感謝你!
11/05 01:28, 6F
文章代碼(AID): #1O6lN4BL (Statistics)
文章代碼(AID): #1O6lN4BL (Statistics)