BookmarkSubscribeRSS Feed
MustafaAbdelhaq
Calcite | Level 5

Hello,

So I have multiple tables with only one record in each one of them. I have another table which combines all the tables in one table.

What i'm trying to do is to calculate a value from multiple tables (subtract and add) to then create a new column with the result.

Your help is appreciated .

1 REPLY 1
PGStats
Opal | Level 21

You could use SASHELP.VTABLE and call execute to generate the SQL queries:

/* Create three example tables */

data table_A table_B table_C;

do x = 1,2,3; output; end;

run;

data _null_;

length oldTable newTable $41;

call execute("proc sql;");

do until (done);

     /* Get the table names */

    set sashelp.vtable(

        where=(libname="WORK" and memname like "TABLE_%")) end=done;

    oldTable = cats(libname, ".", memname);

     /* Create the new table name from the old one */

    newTable = cats(oldTable, "_new");

     /* Create the query with the definition of the new variable */

    call execute(catx(" ", "create table", newTable, "as select *, x+1 as y from", oldTable, ";"));

    end;

call execute("quit;");

stop;

run;

/* Execution of the SQL procedure will occur here */

PG

PG

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1150 views
  • 1 like
  • 2 in conversation