Help using Base SAS procedures

sql "alter" new column with insert one value to all obs from another dataset

Accepted Solution Solved
Reply
Contributor
Posts: 35
Accepted Solution

sql "alter" new column with insert one value to all obs from another dataset

Hi!
I want to add new column to datasetA from another dataset(datasetB) in one step.

 

NOTE:
There’s no variable for merge.


From my google search,below information is hit,especially its title is so nice.

Adding One Value to All Records in a SAS® Data Set


But there’s no way for “by 1 step” or “in a data step”.


By now,I think “proc sql with alter” have possibility for it.
Or we can’t do it?

Because SAS’s help page for "alter" don’t have a example for it.

SAS help page of "alter in proc sql"

 

Someone please help me.
I introduce what I want to do with "2 step". 

data work.datasetB;
 var1="add this value for all obs";
 output;
run;

data work.datasetA;
 key=1;output;
 key=2;output;
 key=3;output;
run;

/* 1step */
data _null_ ;
 set datasetB;
 call symputx ('var1_value', var1) ;
 run ; 

/* 2step */
data work.datasetA;
 set work.datasetA;
 val1="&var1_value";
run;

Result

set_one_value_for_all_records


Accepted Solutions
Solution
‎09-21-2016 12:12 PM
Contributor
Posts: 35

Re: sql "alter" new column with insert one value to all obs from another dataset

Hi,ballardw

 

Thank you so much!!! so nice.

 

Have a nice day!

no_alter.jpg

View solution in original post


All Replies
Super User
Posts: 10,511

Re: sql "alter" new column with insert one value to all obs from another dataset

proc sql;

   create table want as

   select datasetA.*, datasetB.*

   from dataset A, datasetB;

quit;

Solution
‎09-21-2016 12:12 PM
Contributor
Posts: 35

Re: sql "alter" new column with insert one value to all obs from another dataset

Hi,ballardw

 

Thank you so much!!! so nice.

 

Have a nice day!

no_alter.jpg

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 306 views
  • 0 likes
  • 2 in conversation