self serve census data for neighborhoods and other custom aggregations a sas/intrnet applicaton...

Post on 02-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Self Serve Census Data for Neighborhoods and other Custom

AggregationsA SAS/IntrNet Applicaton

Larry Hoyle

Policy Research Institute

University of Kansas

LarryHoyle@ku.edu

The home page

Define a new area – top downDefine a new area – top down

Links to Tract and Block Maps

Census Bureau Tract Maps

Johnson County Tracts - Zoom

Census Bureau Block Maps

Pick Part of Johnson County

Pick 2 Tracts

Johnson County – 2 tracts

Naming the area with 2 tracts

Email sent announcing creation

The definition has been stored

A printable profile

A profile with a larger font

A population pyramid

Defining an area from an addressDefining an area from an address

Choosing a block, width, and heightChoosing a block, width, and height

The rectangle can be modified or savedThe rectangle can be modified or saved

Recalling or Using a Previous Defined AreaRecalling or Using a Previous Defined Area

SF1 Profile for the custom areaSF1 Profile for the custom area

Displaying defined geographyDisplaying defined geography

A few techniquesA few techniques

• Thousands of potential macro variables• Email the area name• HTML with pagination for legacy code

Areas - HTML formAreas - HTML form

<td> <input type="radio" name="G20001" value="K"></td><td> <input type="radio" name="G20001" value="S"></td><td> <input type="radio" name="G20001" value="D" CHECKED></td><td >Allen County <A href="http:

Radio buttons require a separate name for each geographic unit.

Areas - HTML form detailsAreas - HTML form details

Geocode values won’t work as macro variable names.

sorecode GEOCODE to

FORMVAL which can be a macro variable name.

formval GeoCodeG20045_0005X02_2 20045-0005.02-2G20045_0005X02_3001 20045-0005.02-3001G20045_0005X02_3002 20045-0005.02-3002G20045_0005X02_3003 20045-0005.02-3003

Areas - Thousands of Macro VariablesAreas - Thousands of Macro Variables

proc sql; create table mvars as select name,value from sashelp.vmacro where scope='GLOBAL' and upcase(substr(name,1,1))="G";

How do you deal with thousands of potential macro variable names?

One alternative: begin names with a unique letter and extract from sashelp.vmacro

Email a notice - codeEmail a notice - code

filename mymail email "pri@ku.edu" subject="new custom area"; data _null_; file mymail; set areas.areaPWs; where areaNum=&newAnum ;  put areaNum= / customArea= / created= / keepdays= / creatorIP=/ email=;run;

Email a notice - messageEmail a notice - message

areaNum=49

customArea=KCSAS2tracts

created=04JAN2002:15:13:46

keepdays=180

creatorip=129.237.xxx.xxx

email=LarryHoyle@ku.edu

Legacy printer output to HTML - templateLegacy printer output to HTML - template

ods path work.template(update) sashelp.tmplmst(read);   proc template; define style Styles.myHtm; parent = styles.default;

Legacy printer output to HTML - fontsLegacy printer output to HTML - fonts

replace fonts "Fonts used in my HTML style" / 'TitleFont2' = ("Arial, Helvetica, Helv",4,Bold Italic) 'TitleFont' = ("Arial, Helvetica, Helv",5,Bold Italic) 'StrongFont' = ("Arial, Helvetica, Helv",4,Bold) 'EmphasisFont' = ("Arial, Helvetica, Helv",3,Italic) 'FixedEmphasisFont' = ("Courier",&fontSize.,Italic) 'FixedStrongFont' = ("Courier",&fontSize.,Bold) 'FixedHeadingFont' = ("Courier",&fontSize.)

'BatchFixedFont' = ("Courier",&fontSize.) 'FixedFont' = ("Courier",&fontSize.) 'headingEmphasisFont' = ("Arial, Helvetica, Helv",4,Bold Italic) 'headingFont' = ("Arial, Helvetica, Helv",4,Bold) 'docFont' = ("Arial, Helvetica, Helv",3);

FontSize macro variableFontSize macro variable

fs=upcase(symget("fontSize")); select (fs); when('M') call symput("fontSize","10.0pt"); when('L') call symput("fontSize","14.0pt"); otherwise call symput("fontSize","6.7pt"); end;

Legacy printer output to HTML - batchLegacy printer output to HTML - batch

replace Batch from Output "Controls batch mode output." / font = fonts('BatchFixedFont')

cellheight=8.5pt cellpadding = .5pt cellspacing = 0.25pt

frame=void rules = NONE foreground = colors('batchfg') background = colors('batchbg');

Legacy printer output to HTML - ODSLegacy printer output to HTML - ODS

ods html file=_webout( NO_Bottom_Matter title="Custom Area SF1 Profile &areaNum") style=myHtm CSS ;ods listing close;ods noproctitle; 

These slides can be found at These slides can be found at http://www.ku.edu/pri/ksdata/sashttp/sugi27.http://www.ku.edu/pri/ksdata/sashttp/sugi27.

Larry HoyleLarry HoyleLarryHoyle@ku.eduLarryHoyle@ku.edu

(785) 864-9110(785) 864-9110

Policy Research InstitutePolicy Research Institute

The University of KansasThe University of Kansas

1541 Lilac Lane, Suite 6071541 Lilac Lane, Suite 607

Lawrence, Kansas 66044Lawrence, Kansas 66044

http://www.ku.edu/prihttp://www.ku.edu/pri

top related