I first encountered SAS as a new grad student in the LL Thurstone Psychometric Lab in 1975. I have been using SAS since then, almost 40 years.
clinical trials
biostatistics
power analysis
longitudinal data analysis
contrasts and post-hoc tests
GLIMMIX, MIXED, NLMIXED, GENMOD, GLM, REG, ANOVA
MDS, CLUSTER, CALIS, TCALIS, FACTOR, SCORE
SAS does date as the number of days after Jan 1 1960. You probably imported this from Excel which does date as the number of days after Jan 1 1900. You merely need to subtract the difference between the correct date and the value you have. To determine this, use the MDY function to determine the actual number for your date. If your date is Sept 10 1972 enter
data _null_;
dval=mdy(9,10,1972);
put dval=;
run;
Then subtract that value from the value in the variable. That gives you the difference. Subtract that difference from all dates, and you should be all set.
... View more
This is basically asking for the ability to run SAS stored procedures based on responses from a form in HTML. This is very possible. I designed an entire data entry system using this exact logic. Performing specific actions based on web-based choices is quite easy, once you have the basic mechanism of web data handling implemented. That is done using SAS/IntrNet tools. SAS/IntrNet tools translate information from the web into SAS macro variables. Once you have a procedure which is designed to work with the SAS MACRO variables, you can do anything that SAS is able to do, with the logic of SAS MACRO control (%if (&yourvalue = 1) %then %do; PROC MEANS;RUN; %end; %else %do; PROC FREQ;RUN;%end;)
... View more
This thread basically illustrates a huge amount of confusion about macros. 1) Macro design is key 2) The process of writing macros involves isolating the VALUES from the PROCESS. The macro abstracts the process. You supply the variables in 2 ways: a) Using %LET b) Passing values in as arguments and defining the macro variables as parameters So, if you have %let dset=a; %let iv=a b c d e; proc reg data=&dset; model dv=&iv; run; This should be rewritten, and the %let statements ELIMINATED. Write %macro runreg(dset=,iv=); proc reg data=&dset; model dv=&iv; run; %mend runreg; %runreg(dset=a,iv=a b c d e) This AUTOMATICALLY resets the macro variables, because they are defined in the macro call.
... View more