Hi,
I have 2 variables var1 and var2, Var1 is a grouping variable and var2 is reference variable. Here i want to create new variable called Required which takes values from Var2 from the group(var1) and should copy to new variable (Required).
I tried with first. and last. My logic is not working for this data. as u can see then values may lie middle of the group.
And in the third group you can see we have 2 values 90696x22 and GWYSGNx1afdMxcVGQb2x19, in this case i want to GWYSGNx1afdMxcVGQb2x19 to new variable. Hint is i want to copy only those values from var2 who's value is ending with "x19".
It will be great full for your support.
Thanks
Var1 | Var2 | Required |
---|---|---|
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | Hmas$ZYcNhrbd30NniiOc6x19 |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | Hmas$ZYcNhrbd30NniiOc6x19 |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | |
0000000000000000001800008640326A | Hmas$ZYcNhrbd30NniiOc6x19 | |
00033F83EF8F58FB6AF3ACA6FFFFFFFF | OmrsjLWkNxioc7M1Oj6$bex19 | OmrsjLWkNxioc7M1Oj6$bex19 |
00033F83EF8F58FB6AF3ACA6FFFFFFFF | OmrsjLWkNxioc7M1Oj6$bex19 | |
00033F83EF8F58FB6AF3ACA6FFFFFFFF | OmrsjLWkNxioc7M1Oj6$bex19 | |
00033F83EF8F58FB6AF3ACA6FFFFFFFF | OmrsjLWkNxioc7M1Oj6$bex19 | |
00033F83EF8F58FB6AF3ACA6FFFFFFFF | OmrsjLWkNxioc7M1Oj6$bex19 | |
001EE2E43C3711D1A0193A08FFFFFFFF | 90696x22 | EU$GWYSGNx1afdMxcVGQb2x19 |
001EE2E43C3711D1A0193A08FFFFFFFF | EU$GWYSGNx1afdMxcVGQb2x19 | |
001EE2E43C3711D1A0193A08FFFFFFFF | 90696x22 | EU$GWYSGNx1afdMxcVGQb2x19 |
001EE2E43C3711D1A0193A08FFFFFFFF | EU$GWYSGNx1afdMxcVGQb2x19 | |
001EE2E43C3711D1A0193A08FFFFFFFF | EU$GWYSGNx1afdMxcVGQb2x19 | |
001EE2E43C3711D1A0193A08FFFFFFFF | EU$GWYSGNx1afdMxcVGQb2x19 | EU$GWYSGNx1afdMxcVGQb2x19 |
9FB83E1BFC68D743250F4D9AFFFFFFFF | 05qOOZmsNxha0cM1Oj6$bex19 | |
9FB83E1BFC68D743250F4D9AFFFFFFFF | 05qOOZmsNxha0cM1Oj6$bex19 | |
9FB83E1BFC68D743250F4D9AFFFFFFFF | 05qOOZmsNxha0cM1Oj6$bex19 | |
9FB83E1BFC68D743250F4D9AFFFFFFFF | 05qOOZmsNxha0cM1Oj6$bex19 | |
9FB83E1BFC68D743250F4D9AFFFFFFFF | 05qOOZmsNxha0cM1Oj6$bex19 | |
A0012E3CA47467275AD0EC12FFFFFFFF | 05qOOZmsNxha0cM1Oj6$bex19 | 05qOOZmsNxha0cM1Oj6$bex19 |
Can you post the actual code you used? The sort and data step should be enough.
EJ
Sorry just saw that this was a duplicate post ... EJ
Following your logic I think the following should not have anything the Required column in your result
9FB83E1BFC68D743250F4D9AFFFFFFFF
9FB83E1BFC68D743250F4D9AFFFFFFFF
9FB83E1BFC68D743250F4D9AFFFFFFFF
9FB83E1BFC68D743250F4D9AFFFFFFFF
9FB83E1BFC68D743250F4D9AFFFFFFFF
Try this code
proc sort data=have out=have1 nodupkey;
by var1 var2;
run;
data have1;
set have1;
where var2 ne '';
run;
data have1;
set have1;
where index(var2, 'x19')> 0;
run;
proc sort data=have;
by var1;
proc sort data=have1 out=have2(rename=(var2=Required)) ;
by var1;
data want;
merge have(in=a) have2(in=b);
by var1;
if a;
run;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.