BookmarkSubscribeRSS Feed
deleted_user
Not applicable
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.
1 REPLY 1
Cynthia_sas
Diamond | Level 26
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

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 836 views
  • 0 likes
  • 2 in conversation