LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (March 2005, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Wed, 23 Mar 2005 15:56:06 -0500
Reply-To:   Nishant Dholakia <nishant.dholakia@gmail.com>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   Nishant Dholakia <nishant.dholakia@GMAIL.COM>
Subject:   Re: sort.
Comments:   To: Jim Simmons <emailjimsimmons@yahoo.com>
In-Reply-To:   <20050322184239.66378.qmail@web81609.mail.yahoo.com>
Content-Type:   text/plain; charset=ISO-8859-1

Hi, I will definitely try that out. However I just want to be sure because vi has a value of S and B and S should be placed before B. Is that the sorting order of EBCDIC. I have not had a chance to try my own solution of implementing a special missing value and creating a sorting variable. what do you think about it.

Thanks

On Tue, 22 Mar 2005 10:42:39 -0800, Jim Simmons <emailjimsimmons@yahoo.com> wrote: > Nishant, > > Dennis is correct that the EBCDIC collating sequence will correctly sort your data. You can invoke this sequence in non-EBCDIC environments with the following: > > PROC SORT EBCDIC; > BY P VI; > RUN; > > That seems to me to be the easiest way assuming you already have the missing numeric value for DO in obs 5 represented by a "."(SAS missing numeric value). > > Jim Simmons > > Dennis Diskin <diskin@SNET.NET> wrote: > Nishant, > > Unless you are running on an EBCDIC system (IBM > mainframe), in which case you can just sort: > > My suggestion: > > sort normally on p and vi and then: > > data ordered; > set sorted(where=(vi eq 'b')) > sorted(where=(bi ne 'b')); > by p; > run; > > HTH, > Dennis Diskin > > --- Nishant Dholakia > wrote: > > Hi, > > I have to create data set in which data is supposed > > to be like this > > > > p vi do > > 1 b 20 > > 1 3 40 > > 1 4 40 > > 2 b 20 > > 2 3 > > > > basically the sorting has to be done by p and vi. > > However the issue I am > > facing is that vi is character values. using input i > > can convert the values > > to numeric and sort however there is one value (b) > > that can not be > > manipulated this way. the value b should always be > > the first for any p > > value. > > b is already present so I can not use the logic if > > first.p then vi =b; > > Is there some way to do this. > > > > thanks > > >

-- Nishant H. Dholakia 607 262 0860

"its your attitude not your aptitude that determines your altitude"


Back to: Top of message | Previous page | Main SAS-L page