看板 Statistics 關於我們 聯絡資訊
※ 引述《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
blizzard258: 你好!真的很感謝你的回覆! 11/05 01:28
blizzard258: 我在試過之後,發現真的能用此方法。 11/05 01:28
blizzard258: 結果非常的理想! 11/05 01:28
blizzard258: 沒想到sql這麼的好用! 11/05 01:28
blizzard258: 你真的很厲害! 11/05 01:28
blizzard258: 非常感謝你! 11/05 01:28