BookmarkSubscribeRSS Feed
KevinC_
Fluorite | Level 6
Hello,

I have 3 sas datasets : A,B, & C.
I want to merge A and B to create D. While in D, i would like to check the value of a variable from C.

DATA D;
MERGE A (IN=IN_A)
B (IN=IN_B);
BY EID;

IF IN_A AND IN_B THEN DO;
IF START_SW = " " THEN
CNT = CNT + 1;
*do more*

The If statement is not reconizing the variable START_SW, which is defined in Data C. How do I pass Start_sw to dataset D?

Thanks for any input!!
Kevin
4 REPLIES 4
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
You would get most effective feedback by sending the diagnostic output from your SASLOG to include a PUTLOG _ALL_; command revealing all variable values. Any other feedback is a virtual crap-shoot, especially given that we don't know what your input WORK.A and WORK.B variable values contains with each DATA step pass.

Scott Barry
SBBWorks, Inc.
KevinC_
Fluorite | Level 6
thnx for your reply sbb.
I used PUTLOG _all_ to see the values of all.

the value of the variable I need is blank.
Let me ask a basic/stupid question: Can you pass a variable from one dataset X to another dataset Y without reading X?

If the answer is NO, then that's the problem I m facing.
I am merging 2 datasets (A & B) to create C. While I m in C, I need to access the variable from X. X contains only on row of data. If I use set to read X it would screw up my merge. Because the 2 files I am merging (A & B) contain multiple rows. The merge would stop after reading just one row. I hope I am explaining my problem clearly.

help please! 🙂
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
From your recent post, you gave some indication that there is only one row and variable/column you wish to pass to another DATA step. So, yes, you can use CALL SYMPUT in "data step #1" to generate a SAS macro variable.

And in "data step #2", you can use a RETAIN statement to access the macro variable, assigning a SAS data variable / column value, referencing the macro variable using double-quote marks in the RETAIN statement.

Scott Barry
SBBWorks, Inc.
KevinC_
Fluorite | Level 6
sbb, your suggestion worked !!!
Thank you !!!!

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 3948 views
  • 0 likes
  • 2 in conversation