DATA Step, Macro, Functions and more

How to - Order the Variable with an Exception?

Accepted Solution Solved
Reply
Super Contributor
Posts: 395
Accepted Solution

How to - Order the Variable with an Exception?

Hello everyone,

 

I try to order my variable values. I can order by using PROC SORT but on the other hand I also want to add the values which is began "W" letter at the end of column. 

 

Can somebody help me to order my variable?

 

 

Data Have;
Length Variable $ 20 Value 8;
Infile Datalines Missover;
Input Variable Value;
Datalines;
House 10
Car 5
Yakuza 15
Zebra 20
Home 10
W_House 5
W_Car 20
W_Yakuza 5
W_Zebra 15
W_Home 10
;
Run;

Proc Sort Data=Have;
By Variable;
Run;

 

My desired output as below;

 

Desired.png

 

Thank you


Accepted Solutions
Solution
‎10-17-2016 04:19 AM
Super User
Posts: 5,498

Re: How to - Order the Variable with an Exception?

You will need to create a new variable that indicates whether the value begins with "W".  For example, add to the DATA step:

 

group = (variable =: 'W');

 

Then when you sort, you can sort:

 

by group variable;

 

It's up to you whether you want to check for "W" or "W_" ... either is possible.

View solution in original post


All Replies
Solution
‎10-17-2016 04:19 AM
Super User
Posts: 5,498

Re: How to - Order the Variable with an Exception?

You will need to create a new variable that indicates whether the value begins with "W".  For example, add to the DATA step:

 

group = (variable =: 'W');

 

Then when you sort, you can sort:

 

by group variable;

 

It's up to you whether you want to check for "W" or "W_" ... either is possible.

Super Contributor
Posts: 395

Re: How to - Order the Variable with an Exception?

Posted in reply to Astounding

Thank you very much. The following code worked.

 

Data Want;
Set Have;
Group = (Variable =:'W');
Run;

Proc Sort Data=Want;
By Group Variable;
Run;
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 283 views
  • 1 like
  • 2 in conversation