Hi Stat, thank you so much for your quick response. i have added one more to have group according to my real data data have; input id grp1 $ trt $ val ; cards; 100 xxxx x 0 100 xxxx y 1 100 yyyy x .33 100 yyyy y .67 100 zzzz x .5 100 zzzz y .5 100 aaaa x 1 100 aaaa y 0 100 bbbb x 0.63 100 bbbb y 0 100 cccc x 0 100 cccc y .4 100 dddd x 1 100 dddd y 1 100 eeee x 0 100 eeee y 0 100 ffff x .67 100 ffff y 1 ; run; proc sql; create table want as select *,case when sum(val in (1,0))>=1 & sum(val) ne 2 then val*-1 else val end as val1 from have group by id,grp1; quit; output: want1: id grp1 trt val val1 100 xxxx x 0 0 100 xxxx y 1 -1 100 yyyy x .33 .33 100 yyyy y .67 .67 100 zzzz x .5 .5 100 zzzz y .5 .5 100 aaaa x 1 -1 100 aaaa y 0 0 100 bbbb x 0.63 -.63 100 bbbb y 0 0 100 cccc x 0 0 100 cccc y .4 -.4 100 dddd x 1 1 100 dddd y 1 1 100 eeee x 0 0 100 eeee y 0 0 100 ffff x .67 .67 100 ffff y 1 1 ; Is there any way to pick only values having 0 & (any value) for individual grp i mean another dataset want2: 100 xxxx x 0 100 xxxx y 1 100 aaaa x 1 100 aaaa y 0 100 bbbb x 0.63 100 bbbb y 0 100 cccc x 0 100 cccc y .4 ; run; Thanks Sam
... View more