sas分析论坛的访问日志片段

sas第一周作业:论坛的访问日志片段(文本文件),每行记录的含义如下:

121.33.190.166【ip地址】 - - [31/Mar/2012:00:00:07 +0800]【点击时间】 "GET /static/js/jquery-1.6.js【访问链接】 HTTP/1.1" 404 299【返回页面大小字节数】 "http://f.dataguru.cn/thread-1427-2-1.html"【参照页链接】 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.54.16 (KHTML, like Gecko) Version/5.1.4 Safari/534.54.16"【使用的浏览器】

日志片段(文本文件):

用sas把该日志文件读为数据集,要求数据集记录ip、点击时间、点击链接、页面大小、浏览器等信息,然后把数据集中的ip、时间和点击链接信息回写到硬盘的一个文本文件中。要求提交程序和运行抓图。

一。自带工具实现:

image

 

image

image

 

image

 

把数据集中的ip、时间和点击链接信息回写到硬盘的一个文本文件中:

image

 

image

 

image

 

二,写脚本实现:

 

%let file1='E:\SAS\class01\access_log.txt'; /*定义一个外部文件变量,指向  E:\SAS\class01\access_log.txt*/

filename fil "(&file1)";           /*定义一个指针指向上面所定义的外部文件变量*/

data class01.file01;             /*定义此次结果所存储的数据集*/

infile fil dlm='' dsd  LRECL=2048;   /*定义可读入行的最大长度为2048,默认分隔符为空格,同时忽略分号中包含的空格符*/

input ip :$20. +4 time $28. +1 access_html :$512. +4 content_size :5. consult_html :$512. web :$512.
;             /* :$20 表示ip这一列的最大长度为20,但是如果遇到空格则结束*/

access_html=scan(access_html,2,'');    /*以空格为分隔符,查找access_html中的第二个字符串*/

file 'e:\sas\class01\first01.txt' LRECL=2048;   /*定义此次结果集所要输出的外部文件,同时定义其行的最大长度为2048*/

put ip time access_html;

run;

您可以选择一种方式赞助本站