You really need tor review your SET statement dataset calls
Play with some values to see distinct values
proc sql;
select distinct rand_group
from have;
quit;
/*or a */
proc freq data=have;
tables rand_group;
run;
The above will give you an idea what's in your dataset to eventually know what to expect
rand_group Frequency Percent Frequency Percent
Treatment A 27 50.94 27 50.94
Treatment B 26 49.06 53 100.00
Frequency Missing = 477
Ok so I suppose you got the same for
Proc sql;
select distinct rand_group
from have
quit;
as well.
In that case , you are definitely not referencing the correct dataset that picks yes/no from mars or moon lol
Proc sql;
select distinct rand_group
from SPIES.SPIES_ANALYSIS_DEMOS
quit;
proc freq data = SPIES.SPIES_ANALYSIS_DEMOS;
table rand_group;
run;
Both show only treatment group a and b
data SPIES_ANALYSIS_DEMOS2;
do _n_=1 by 1 until(last.study_id);
set SPIES.SPIES_ANALYSIS_DEMOS;
by study_id;
if _n_=2 then _temp=Rand_group;
end;
do _n_=1 to _n_;
set SPIES.SPIES_ANALYSIS_DEMOS;
by study_id;
if _n_=1 then Rand_group=_temp;
output;
end;
drop _:;
run;
I am setting it to the same data set that is showing only treatment a and b
And is it still show YES, NO?
If it does, can you check upstream thoroughly. And if it is not confidential that would violate security/compliance, can you attach your sas dataset here? So I can work on it
Still has a yes/no. I cannot release my data set. Thank you for the help but I am going to use an if/then statement and manually fill in the data.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.