SAS Web XML * ** * ** Web Data Analysis with SAS Input and Output of XML Data and Application to Real Estate Valuation Map Junnosuke Matsushima*, Hiroshi Ishijima**, Ikue Watanabe *Clinical Research Planning Department, Chugai Pharmaceutical Co., LTD. **Graduate School of International Accounting, Chuo University July 27, 2010 Web Web ( 2 ) XML ( 3 ) Web XML ( ) File name MAP SAS SAS ( ) SAS Put KML (XML ) ( 4 ) XML : Google Earth ( 5 ) CSV CSV SAS ( ) SAS Google Earth 1 1
SAS WebXML Web Google Earth XML, Filename, Valuation Map, Google Earth 2 WebWeb WebSAS 2 1. Web SAS 2. Web Web XML(eXtensible Markup Language) 3 2
XML () XMLWeb XHTML RSS Web API 4 XHTML http://www.kanzaki.com/docs/html/xhtml1.html 5 3
RSS http://public.news.yahoo.co.jp/rss/ 6 Web API http://itpro.nikkeibp.co.jp/article/column/20060925/248842/ 7 4
WebSAS 2 1. Web SAS? 2. Web? WebXML Web XML SAS XML 8 : XML 9 5
1. Web Web 2. SAS 3. Web Google Earth Google Maps 10 : 3 1. Web! (Web)API XML SAS SAS 2. SAS ( ) 3. Web SAS KML(XML ) Google Earth Google Maps 11 6
SAS Web XML SAS SAS SAS SASXML Web Google 12 Web Web ( 2 ) XML ( 3 ) Web XML ( ) File name MAP SAS SAS ( ) SAS Put KML (XML ) ( 4 ) XML : Google Earth ( 5 ) CSV CSV SAS ( ) SAS Google Earth 13 7
Web Filename filename < > url <URL> ( ) ; <URL> URL ( ) 14 WEB http://webservice.recruit.co.jp/smatch/ 15 8
! API http://webservice.recruit.co.jp/smatch/reference.html#a1to 16 URL http://webservice.recruit.co.jp/smatch/reference.html#a1to 17 9
18 Web Filename filename < > url <URL> ( ) ; SAS 1 options validvarname=any ; 2 filename junk url URL encoding="utf-8" Filename URL termstr=lf debug lrecl=8192; URL 3 data data1; Infile 4 5 infile junk length=len; input record $varying8192. len; 6 run; 7 8 9 10 11 data; set data1; file 'C:\mysasfiles\xml\in.xml' termstr=lf encoding="utf-8" lrecl=8192; put record; run; 2.1 C:\mysasfiles\xml\in.xml 19 10
Web Web ( 2 ) XML ( 3 ) ( 4 ) XML : Google Earth ( 5 ) Web XML ( ) CSV CSV File name MAP SAS SAS ( ) SAS SAS ( ) SAS Put KML (XML ) Google Earth 20 XML3 XML 1 <?xml version= 1.0 encoding= windows-1252?> 3 2 <TABLE> TABLE 3 <CLASS> CLASS 4 <NAME> Taro </NAME> NAME 5 <SEX> Male </SEX> SEX 6 <AGE> 25 </AGE> AGE 7 </CLASS> 8 <CLASS> Obs AGE SEX NAME 9 <NAME> Hanako </NAME> 10 <SEX> Female </SEX> 1 25 Male Taro 11 <AGE> 24 </AGE> 2 24 Female Hanako 12 </CLASS> 13 </TABLE> 3.2-1 21 11
SAS ( 3 ) SAS 1 Libname trans xml C:\mysasfiles\xml\basic.xml ; XML 2 Libname myfiles C:\mysasfiles\xml ; 3 data myfiles.class; 4 set trans.class; 5 run; 3.2-2 XML CLASS SAS 3? 22 XML MAP XML results apartment id area name MAP SAS APARTMENTS id areaname 3.3 23 12
XML <?xml version="1.0" encoding="utf-8"?> <results xmlns="http://api.smatch.jp/"> <api_version>1.0</api_version> <apartment> <id>030990066142534</id> <area> <name></name> <code>030</code> </area> </apartment> <apartment> </apartment> </results> 3.3-1 XMLMAP MAP <?xml version="1.0"?> <SXLEMAP version="1.2"> <TABLE name="apartments"> <TABLE-PATH syntax="xpath"> /results/apartment </TABLE-PATH> <COLUMN name="id"> <PATH>/results/apartment/id</PATH> <TYPE>character</TYPE> <DATATYPE>STRING</DATATYPE> <LENGTH>15</LENGTH> </COLUMN> <COLUMN name="areaname"> <PATH>/results/apartment/area/name</PATH> <TYPE>character</TYPE> <DATATYPE>STRING</DATATYPE> <LENGTH>8</LENGTH> </COLUMN> </TABLE> </SXLEMAP> 3.3-2 24 SAS SAS 1 filename RESULTS 'C:\mysasfiles\XML\in.xml' ; XML 2 filename MAP 'C:\mysasfiles\XML\in.map' ; MAP 3 libname RESULTS xml xmlmap=map MAP xmlconcatenate=yes ; 4 libname MYFILES 'C:\mysasfiles\XML' ; 5 data MYFILES.APARTMENTS; 6 set RESULTS.APARTMENTS; 7 run; 3.3-3 XML APARTMENT SAS MAPXML SAS 25 13
Web Web ( 2 ) XML ( 3 ) ( 4 ) XML : Google Earth ( 5 ) Web XML ( ) CSV CSV File name MAP SAS SAS ( ) SAS SAS ( ) SAS Put KML (XML ) Google Earth 26 1 Box-Cox 3 N } K ( l ) ( l ) ( k ) ( k ) ( k ) Hij ( ) xij xij { { i ij 123 { 1 2 64748 l 1 k 1 3 2 (1) : (Box-Cox) (2) 1 : () (2) 1 : (+ ) 4 (3) 2 : ( ) (3) 2 : () (4) : 27 14
2 (, 2009) 1: 2: 28 3 ~ 1 ~ 1: Box-Cox (Box-Cox) : Hij 1 ( 0 ) Hij ( ) : log Hij ( 0 ) = 1 = 1 =0 = 29 15
4 ~ 2 ~ 2: Box-Cox : K } } ( k ) ( k ) ( k ) x ij i { k 1 1442443 k k k = = 30! (Web)2010 4 () 8 ( i j (Hij) k ( k ) ) : Box-Cox : PROC MIXED λ Gurka et al (2006) x ij 31 16
3 3 41,624.73 ( <.0001 ) () ( ) ( ) Box-Cox (λ= -0.05) 39,704.78 ( <.0001 ) 39,375.93 ( <.0001 ) 38,992.04 ( <.0001 ) 39,216.69 ( <.0001 ) 38,593.43 ( <.0001 ) 36,738.00 ( <.0001 ) 69.07 78.78 64.82 73.00 57.44 68.87 72.20 ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) 21.14-3.21-94.52-246.52-347.16-346.69-320.73 ( 0.8385 ) ( 0.9662 ) ( 0.5295 ) ( 0.0245 ) ( 0.0200 ) ( 0.0100 ) ( 0.0280 ) -19.27-20.40-33.63-49.42-33.40-31.73-23.42 ( 0.1709 ) ( 0.0106 ) ( 0.0267 ) ( 0.0012 ) ( 0.0205 ) ( 0.0329 ) ( 0.0852 ) 8,552 4,856 3,940 3,945 3,518 3,458 2,581 ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) ( <.0001 ) 4 32 Web Web ( 2 ) XML ( 3 ) ( 4 ) XML : Google Earth ( 5 ) Web XML ( ) CSV CSV File name MAP SAS SAS ( ) SAS SAS ( ) SAS Put KML (XML ) Google Earth 33 17
XML ~ Google Earth ~ Google Earth Web kml 34 5-1 35 18
5-2 36 XMLSAS XML SAS Web MAP SAS ( ) XML ( ) SAS KML (XML ) CSV SAS ( ) CSV SAS Google Earth 37 19
KML KML 1 <?xml version="1.0" encoding="utf-8"?> 2 <KML xmlns="http://earth.google.com/kml/2.1"> 3 4 5 <DOCUMENT> <STYLE ID="ICON3"> <ICONSTYLE > </ICONSTYLE> 6 </STYLE> 7 <STYLE ID="ICON4"> header 8 9 10 11 12 13 14 15 16 17 <ICONSTYLE > </ICONSTYLE> </STYLE> <PLACEMARK> <NAME> </NAME> <STYLEURL> #ICON4 </STYLEURL> <DESCRIPTION> </ DESCRIPTION> <POINT> <COORDINATES> 139.799965,35.717301 </ COORDINATES> 18 </POINT > 19 (20) 21 </ PLACEMARK > </DOCUMENT> 22 </KML> DOCUMENT STYLE STYLE ICONSTYLE PLACEMARK NAME STYLEURL STYLE DESCRIPTION POINT COORDINATES KML3 header STYLE <PLACEMARK> <PLACEMARK> footer <PLACEMARK> footer 5-1 38 SAS : SASKML data MYFILES.APARTMENTS; set MYFILES.APARTMENTS; keep id name tag1 tag2 ; tag1 = '<Placemark><name>' ; tag2 = '</name><styleurl>' ; run; 39 20
SAS : Header, Footer Header Footer %LET kml_header_file="c:\mysasfiles\output\kml_header.csv"; %LET kml_footer_file="c:\mysasfiles\output\kml_footer.csv"; Header Footer SAS proc import datafile=&kml_header_file out=myfiles.kml_header replace; getnames=no; run; proc import datafile=&kml_footer_file out=myfiles.kml_footer replace; getnames=no; run; 40 SAS : KML KML %LET kml_file="c:\mysasfiles \out.kml"; kml_headerheaderapartments kml_footerfooter SAS KML data; set MYFILES.kml_header MYFILES.APARTMENTS MYFILES.kml_footer; file &kml_file termstr=lf encoding="utf-8" lrecl=8192; put var1 tag1 name tag2 address ; run; 41 21
Web Web ( 2 ) XML ( 3 ) Web XML ( ) File name MAP SAS SAS ( ) SAS Put KML (XML ) ( 4 ) XML : Google Earth ( 5 ) CSV CSV SAS ( ) SAS Google Earth 42 WebXMLSAS SASXML 3 1. Web Filename 2. XML SAS MAP 3. SASXML XMLHeader Footer 43 22