To turn VALUE into PATH1 or PATH2 you need to transpose the second dataset.
proc transpose data=db1 out=db1_wide(drop=_name_);
by week;
id pathogen;
var value;
run;
data want ;
merge db db1_wide;
by week;
run;
Count_ Count_
Obs Admission week path1 path2 path1 path2
1 06JUL2014 28w2014 0 21 23 .
2 13JUL2014 29w2014 1 56 1 .
3 20JUL2014 30w2014 0 0 . 56
4 27JUL2014 31w2014 3 1 67 .
5 03AUG2014 32w2014 4 4 . 6
6 10AUG2014 33w2014 0 0 . 2
To convert the missing values into zeros you could either add the follow lines to your merge step:
path1=sum(path1,0);
path2=sum(path2,0);
Or add a call to PROC STDIZE to fill missing values with zeros.