Hi:
If you had this data:
[pre]
v1 v2
6/2/2005 Tornado
6/2/2005 Hail
6/3/2005 Rain
6/3/2005 Cloudy
6/4/2005 Cloudy
6/5/2005 Hail
6/5/2005 Tornado
6/5/2005 Rain
[/pre]
In a SAS dataset entitled WORK.WEATHER, then you could quite simply use the transpose procedure to change the structure of the data.
[pre]
proc transpose data=work.weather out=work.w_trans;
by v1;
var v2;
run;
options nocenter;
proc print data=work.w_trans;
title 'transposed data';
format v1 mmddyy10.;
run;
[/pre]
And the results from the transpose look like this:
[pre]
transposed data
Obs v1 _NAME_ COL1 COL2 COL3
1 06/02/2005 v2 Tornado Hail
2 06/03/2005 v2 Rain Cloudy
3 06/04/2005 v2 Cloudy
4 06/05/2005 v2 Hail Tornado Rain
[/pre]
Note that PROC TRANSPOSE, by default, calls the transposed variables "COL" and numbers the variables. If you really need to have them named differently, there are ways to rename variables or just relabel the variables to your needs. These methods are part of the fundamental concepts of how SAS stores data and you can find that information in the documentation on PROC DATASETS and/or the RENAME= dataset option. Also note that in my example data, the V1 variable is a numeric variable that represents a SAS date, so a format must be applied to show that number in its date form in the PROC PRINT step. If your V1 variable is a character string, then you would not need a Format statement.
You said that your data had "other variables" -- whether this is the right solution for you depends on what the "other" variables are and whether you need them to be part of the transposed data, too. It may be that PROC TRANSPOSE is not the right procedure for your data and you may need to look to a DATA step program to transpose the data. For more help with this task, your best bet might be to read the documentation or contact Tech Support, especially, if you are not familiar with SAS basic concepts.
cynthia