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 (December 2007, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Sat, 8 Dec 2007 20:51:50 -0800
Reply-To:     SAS Student <o.ibrahim0@GMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         SAS Student <o.ibrahim0@GMAIL.COM>
Organization: http://groups.google.com
Subject:      A bit complicated for me to express
Comments: To: sas-l@uga.edu
Content-Type: text/plain; charset=ISO-8859-1

I am sorry for the repost but there was something wrong with my original one. Anyway here it goes:

I have a small problem that I need to solve and would appreciate any help you offer. I created a table with some patients names, phone numbers, and addresses (SAS code and datalines provided below) . I created the Location variable using the ZIPCITY function. If you submit the program you will see that in the last observation the City "Harrisbu" does not match the city under Location "Levittown" while for the first observation the Location is left blank because the zipcode is invalid. I need a simple code that does the following:

1.If they zipcode does not match the city/state (6th observation), then I need to create a code that either edits the zipcode or city/ state so that they match. One way is is to compare the "City" variable with the first part (city part) of the "Location" varaible and asking SAS to replace the former with the latter if they don't match (e.g replace Harrisbu with Levittown). Needless to say, I don't now how to do that...

2. If the Zipcode is invalid (1st observation) i need to replace its value with "???"

This is just part of the dataset so I need something that is global. Also, please keep it as simple as possible so that I can understand what you did. Thanks a lot !

Data Address ; Length Phone1 $ 12. phone 6. City $ 25. zipcode $ 5.; Input #1 PatientName&$ 25. #2 StreetAddress&$ 30. #3 City1 $ State $ 2. zipcode $ 6. #4 Phone1 $ ;

Phone2 = compress(Phone1,'(-) '); City= compress (City1, '(,) '); Phone = input(phone2, 9.); Drop Phone1 phone2 City1; StateName=StnameL (State);

location = ZIPCITY(Zipcode);

datalines; Sonya Larson 10054 Plum Tree Rd Buffalo NY 10068 716-555-1348 Peter Simpson 605 Glendover Dr I sabel KS 67065 316-555-6566 Kip Holfser 902 West Blvd Lansing, MI 48910 517-555-0227 Chan Rong 3052 East Bank Way Lithonia GA 30058 912-555-0025 Mary Peters 10036 Lake View Dr Greenbay, WI 54311 608-555-9031 Randy Nguyen 100 49th Street Harrisburg, PA 19057 717-555-7773 ;


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