Data manupulation

Accepted Solution Solved
Reply
Contributor
Posts: 66
Accepted Solution

Data manupulation


The data set 'have'  is

 

Data have;

input a b;

datalines;

1 3

1 3

1 3

2 4

2 5

2 4

2 4

2 4

3 2

3 2

4 7

4 8

5 1

5 1

5 1

5 1

6 8

6 7

6 7

6 7

;

Now I want to create a data set want from have to see if there is change in b within each level of  a.

So that my new data set want will have an additional variable Change and should look like this.

Want

a b     Change

1 3     No

1 3     No

1 3     No

2 4     Yes

2 5     Yes

2 4     Yes

2 4     Yes

2 4     Yes

3 2     No

3 2     No

4 7     Yes

4 8     Yes

5 1     No

5 1     No

5 1     No

5 1     No

6 8     Yes

6 7     Yes

6 7     Yes

6 7     Yes

Any help would be highly appreciated.

Thanks.


Accepted Solutions
Solution
‎06-18-2013 01:10 PM
Super Contributor
Posts: 1,636

Re: Data manupulation

Data have;

input a b;

datalines;

1 3

1 3

1 3

2 4

2 5

2 4

2 4

2 4

3 2

3 2

4 7

4 8

5 1

5 1

5 1

5 1

6 8

6 7

6 7

6 7

;

proc sql;

  create table want

    as select *, case

                 when min(b)=max(b) then 'no'

     else 'yes'

     end as change

from have

group by a;

  

quit;

proc print;run;

View solution in original post


All Replies
Respected Advisor
Posts: 4,654

Re: Data manupulation

Simple with SQL and remerging :

proc sql;

create table want as

select *, case when range(b)>0 then "Yes" else "No" end as Change

from have

group by a;

quit;

PG

PG
Solution
‎06-18-2013 01:10 PM
Super Contributor
Posts: 1,636

Re: Data manupulation

Data have;

input a b;

datalines;

1 3

1 3

1 3

2 4

2 5

2 4

2 4

2 4

3 2

3 2

4 7

4 8

5 1

5 1

5 1

5 1

6 8

6 7

6 7

6 7

;

proc sql;

  create table want

    as select *, case

                 when min(b)=max(b) then 'no'

     else 'yes'

     end as change

from have

group by a;

  

quit;

proc print;run;

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 200 views
  • 3 likes
  • 3 in conversation