BookmarkSubscribeRSS Feed
bncoxuk
Obsidian | Level 7
I used OUTPUT statement as below. For the IF statement, no OUTPUT used. For the ELSE statement, there is an OUTPUT statement. However, the results showed that cases with age<=30 are in fact not in the dataset work.a. Is this caused by the OUTPUT statement? But the OUTPUT statement is enclosed in the ELSE, and should not affect the IF condition. I must be wrong?

DATA work.a;
SET work.b;
IF (age>30) THEN status='mature';
ELSE THEN
DO;
status='young';
OUTPUT;
END;
RUN;
2 REPLIES 2
sbb
Lapis Lazuli | Level 10 sbb
Lapis Lazuli | Level 10
For some self-initiated desk-checking, consider adding the SAS program line below (add the code-line one or more places with "nn" identification as unique string to generate much more info to your SASLOG so you can interrogate the processing flow:

PUTLOG '>DIAG-nn' / _ALL_;

Otherwise, you will want to share your SAS log, not a selected portion of your program.


Scott Barry
SBBWorks, Inc.
SPR
Quartz | Level 8 SPR
Quartz | Level 8
Hello Bncoxuk,

Check your LOG. It looks like you have an error:

ELSE THEN should be simply ELSE.

Sincerely,
SPR

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

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
  • 2 replies
  • 1205 views
  • 0 likes
  • 3 in conversation