BookmarkSubscribeRSS Feed
agomez
Calcite | Level 5

Hello,

I have a very strange behaviour in a data step that looks like this:

data one (keep= a b x y z)

     two (keep= a b z t)

     three (keep = a b c);


     set input_data; /* This data set contains all variables above */


     select (a);     /* A is an integer variable */

          when (1) do;

               b=2;

               output one;

          end;

         

          when (2) do;

               b=3;

               output two;

          end;


          otherwise b=1;

     end;

    

     put "a:" a "b:" b;

     output three;

run;


The values of a and b displayed in the log file via "put" are ok, but these values are somehow not written in the dataset three, which seems to keep the original values from the input_data table. I am afraid to be missing something very basic here, but I really cannot put the finger on it. Any help would be greatly appreciated.

Thanks!

Andrés

1 REPLY 1
agomez
Calcite | Level 5

Ok, problem solved. The problem was actually somewhere else Smiley Happy

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

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 987 views
  • 0 likes
  • 1 in conversation