WebProxyLog を解析する SQL 文を考えてみる
http://d.hatena.ne.jp/yamanyon/20060612#1150110866
これの続き。
端末に SQL Server Business Intelligence Development Studio なるものをインストール。レポート サーバー プロジェクトをがりがり作ってみることに。
データベースに接続して、解析データを作成してみる。
SELECT month, SUM(bytesrecvds) AS RecvdBytes, SUM(bytessents) AS SentBytes, COUNT(ClientIP) AS Client FROM (SELECT '2006年6月' AS month, SUM(bytesrecvd) AS bytesrecvds, SUM(bytessent) AS bytessents, ClientIP FROM WebProxyLog WHERE (logTime >= CONVERT(DATETIME, '2006-06-01 00:00:00', 102)) AND (logTime < CONVERT(DATETIME, '2006-07-01 00:00:00', 102)) AND (resultcode = 200) AND (DestHostIP = 3533874324) GROUP BY ClientIP) AS monthData GROUP BY month
こうすることで、6 月のデータ送受信サイズと IP 数が数えられる。
出力はこんな感じ。データはダミーというお約束で。
month | RecvdBytes | SentBytes | Client 2006年6月 | 1050639 | 35216635 | 276
IP 数は純粋な IP の数なので、その月のユーザー数に置き換えるには無理がある。
ユーザー数を数えるには、やはり 1 時間以上アクセスが無かった IP を別物として扱う必要があるよなぁ。
別の DB 作らないと無理かなこれは。