I have the below code with conditions and when i run it it creates double observations.
I am creating a dataset which gives 1 if it satisfies a condition for each treatment group. But it resolves seperately and creates duplictes.
i use the below condition to have treatment wise but it duplicates like below in my datastep
%** Loop for each arm (to avoid transposing the data later) **;
%do k = 1 %to %sysfunc(countw(&ArmList., #)); %** Start for each ArmVar **;
if compress(&ArmVar.) = "%scan(&ArmList.,&k., #)" then do; %** if ArmVar condition **;
and it is resolved to code attached.
Can any one help me what i am doing wrong
Check subjid S1287, it will be outputted 3 times, the reason is that it fulfills these conditions:
if compress(actarm) = "BLINDED"
if SAFFL='Y'
if dsreas_num_BLINDED
All of these has an output statement, you have to check your conditions again if this is not the desired result 🙂
//Fredrik
If it fulfills all conditions then it should be multiple. But what i get is multiple obs of subjids for almost most of them
I think you need to pick some of the obs you don't want to have multiple times and check the rules for them 🙂
@vraj1 wrote:
If it fulfills all conditions then it should be multiple. But what i get is multiple obs of subjids for almost most of them
Then they all fulfill multiple conditions. Maxim 3: Know your data.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.