libname learn xlsx '/folders/myshortcuts/s2/hosp.xlsx';
proc report data=learn.hosp nowd headline;
column subject AdmitDAte DOB Age;
define AdmitDate/"Admission Date" width=10;
define DOB/width=3 ;
define subject/display width=7;
define Age/computed "Age at admission" ;
compute Age;
Age=round(yrdif(DOB,AdmitDate,'Actual'));
endcomp;
run;
log consists of following statements:
The define usage of a report item is assigned to each variable individually. You have verified that DOB is numeric, therefore its default define usage is ANALYSIS. Character variables have a default usage of DISPLAY. For completeness i like to always specify the define usage on each DEFINE statement - even when i think that it is redundant.
The problem specifically for you in this case is that for report items with a define usage of ANALYSIS their names are not used directly within a compute block. You can read more about this here:
The variable names are used explicitly when the usage is DISPLAY.
The define usage of a report item is assigned to each variable individually. You have verified that DOB is numeric, therefore its default define usage is ANALYSIS. Character variables have a default usage of DISPLAY. For completeness i like to always specify the define usage on each DEFINE statement - even when i think that it is redundant.
The problem specifically for you in this case is that for report items with a define usage of ANALYSIS their names are not used directly within a compute block. You can read more about this here:
The variable names are used explicitly when the usage is DISPLAY.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.