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

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

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
  • 1288 views
  • 0 likes
  • 3 in conversation