I guess question 1 was already answered. As for question 2 and 3, the following version including calculations with and without duplicate monthly weighted approval rates should answer : libname xl excel "&SASForum.\datasets\slope.xls"; /* Flag the first observation of every month (variable first). Express the month as the number of months since the beginning of the century to avoid loss of accuracy */ data test(keep=Emp_ID month Monthly_Weighted_Approval first); set xl.'sheet2$'n; by Event_month notsorted; if Monthly_Weighted_Approval ne .; first = first.Event_month; month = intck("MONTH", '01JAN2000'd, Event_Month); run; libname xl clear; /* Do the regression on a single observation per month, request output statistics in PEfirst and FSfirst datasets */ proc reg data=test(where=(first)) plots=none; by Emp_ID notsorted; model Monthly_Weighted_Approval = month; ods output parameterEstimates=PEfirst FitStatistics=FSfirst; run; /* Do the regression on all duplicate observations, request output statistics in PEall and FSall datasets */ proc reg data=test plots=none; by Emp_ID notsorted; model Monthly_Weighted_Approval = month; ods output parameterEstimates=PEall FitStatistics=FSall; run; /* Join statistics into tables. */ proc sql; create table statsFirst as select PE.Emp_ID, PE.Estimate as slope, PE.ProbT, FS.nValue2 as RSquare from PEfirst as PE, FSfirst as FS where pe.Emp_ID=fs.Emp_ID and PE.Variable="Month" and FS.Label2="R-Square"; create table statsAll as select PE.Emp_ID, PE.Estimate as slope, PE.ProbT, FS.nValue2 as RSquare from PEall as PE, FSall as FS where pe.Emp_ID=fs.Emp_ID and PE.Variable="Month" and FS.Label2="R-Square"; title "One observation per month"; select * from statsFirst; title "All duplicate observations"; select * from statsAll; quit; PG
... View more