Desktop productivity for business analysts and programmers

Creating a macro variable for use in future calculation

Reply
N/A
Posts: 0

Creating a macro variable for use in future calculation

How can I create a variable (say number of records) from one table to be used in a calculation in another table (without linking the tables).

For example, I have a table with 100 records.
In another table, I want to divide a number by those X records. In this case, X being 100.
Thanks.
SAS Super FREQ
Posts: 8,721

Re: Creating a macro variable for use in future calculation

Your best choice is using SAS Macro variables. This is just one example. There are other ways of creating macro variables.
[pre]
proc sql;
select nobs into :cntobs
from dictionary.tables
where libname = "SASHELP" and
memname = "CLASS";
quit;

%let cntobs = &cntobs;
%put cntobs= &cntobs is the number of obs in SASHELP.CLASS;

data new;
set sashelp.shoes;
retain divideby &cntobs;
newnum = sales / divideby;
run;

ods listing;
proc print data=new (obs=5);
title "Using the Number of Obs ( &cntobs ) from CLASS to divide by in SHOES";
var region product sales divideby newnum;
run;
[/pre]

If you need more help understanding what this program is doing or how to use SAS Macro variables or if this examples does not suit your needs, your best bet for help is to contact SAS Tech Support.

cynthia
Ask a Question
Discussion stats
  • 1 reply
  • 87 views
  • 0 likes
  • 2 in conversation