02-16-2017 09:32 AM
I need some help on SAS macro. Let me state the problem.
I have a data table that has name, date, salary columns. The salary is missing for some names in some dates. I would like to produce a report in which I want to include the footnote that says "Salary is missing for Name=&name in date=&date.
Here is the sample data table
Name Date Salary
Robert 01Feb2017 5000
Shyam 01Mar2017 2000
Dinesh 01May2017 3000
Shou 01Jul2017 .
Rishi 01Sep2017 4000
Noral 01Dec2017 .
Please help me on this. Thanks
02-16-2017 09:42 AM
You mean something like this?
proc sql noprint ; select 'Name='||strip(name)||' in date='||strip(put(date,date9.)) INTO:footer separated by ' ' from dataset where salary is missing ; quit ; footnote "Salary is missing for &footer." ; proc print data=dataset ; run ;
02-16-2017 10:12 AM - edited 02-16-2017 10:13 AM
I don't think that FOOTNOTE is the right place in a report to list all names with missing salary,
unless you are sure there are less than 10 names. You better create two reports:
title ' Salary given to';
proc print data=have (where=(salary ne .)); /* optiona NOOBS */
var name date salary;
title "Nmaes with missing salary";
proc print data=have(where=(salary is missing));
var name date;