SAS Programming

DATA Step, Macro, Functions and more
BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
supp
Pyrite | Level 9

Is it possible to determine the time zone given a US address? If anyone has done this would you be willing to share your code?

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

You may have the SASHELP.ZIPCODE data set. That has Timezone name for the 5 digit Zip code if you have that as part of your address. Or the same data set has most city and town names (not many cross time zones). If you do not have that set you can find it at https://support.sas.com/rnd/datavisualization/mapsonline/html/misc.html click on the Current under the Archive to get the link to the newest version. Follow the instructions to import into SAS. It is worth updating this set at least once per year.

 

Note that the ZIP value in the SASHELP.ZIPCODE data set is numeric. So comparisons may need to convert your value if a character zip.

 

One example:

data have;
   input zip ;
   format zip z5.;
datalines;
00501
31044
;

proc sql;
   create table want as
   select a.*, b.timezone
   from have as a
        left join
        sashelp.zipcode as b
        on a.zip=b.zip;
quit;

 

View solution in original post

1 REPLY 1
ballardw
Super User

You may have the SASHELP.ZIPCODE data set. That has Timezone name for the 5 digit Zip code if you have that as part of your address. Or the same data set has most city and town names (not many cross time zones). If you do not have that set you can find it at https://support.sas.com/rnd/datavisualization/mapsonline/html/misc.html click on the Current under the Archive to get the link to the newest version. Follow the instructions to import into SAS. It is worth updating this set at least once per year.

 

Note that the ZIP value in the SASHELP.ZIPCODE data set is numeric. So comparisons may need to convert your value if a character zip.

 

One example:

data have;
   input zip ;
   format zip z5.;
datalines;
00501
31044
;

proc sql;
   create table want as
   select a.*, b.timezone
   from have as a
        left join
        sashelp.zipcode as b
        on a.zip=b.zip;
quit;

 

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1509 views
  • 1 like
  • 2 in conversation