DATA Step, Macro, Functions and more

Need help on SAS Macro

Reply
Occasional Contributor
Posts: 10

Need help on SAS Macro

Hi

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

Occasional Contributor
Posts: 5

Re: Need help on SAS Macro

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 ;
Trusted Advisor
Posts: 1,372

Re: Need help on SAS Macro

[ Edited ]

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;

sumvar salary;

run;

 

title "Nmaes with missing salary";

proc print data=have(where=(salary is missing));

var name date;

run;

 

Ask a Question
Discussion stats
  • 2 replies
  • 121 views
  • 0 likes
  • 3 in conversation