[MUSASHI-users 453] Re: アクセスログの複数条件による集計

Back to archive index

Hiroko Ishikura s04ma****@sub*****
2004年 12月 28日 (火) 15:16:39 JST


海老澤様

石倉です

>  1 ID付きレコードのURL別ページビュー数を一時ファイルに出力
>  2 ID付きレコードのURL別ユニークユーザ数を一時ファイルに出力
>  3 ID無しレコードのURL別ページビュー数を一時ファイルに出力
>  4 1〜3を、URLをキーにまとめる
>  5 4の3つの項目を利用して、ユニークユーザ数(推計)を求める
>
> これをシェルスクリプトでまとめるといいと思いますが、いかがで
> しょうか?(できれば一時ファイルなしで処理したいですが、無理
> ですよね?)

このロジックで問題ないと思います。
一時ファイルを全くなしというのは難しいと思いますが、
一時ファイルを少なくすることは可能です。
下記に海老澤様のお考えになられたロジックで私なりに
一時ファイルをできるだけ最小限になるようなスクリプトを
書いてみました。ご参考までに。

--------------シェルスクリプト 
---------------------------------------------------------------
#!/bin/bash

#ID有のページビューをカウント
txt2xt      -a ID,URL,TIME,REF -l test -i logfile.txt     |
xtcut       -f URL,ID                                                    
       |
xtselstr  -f ID -v "null" -u usr0.xt -r                              |
tee usr1.xt                                                              
         |
xtcount  -k URL -a prevCnt1                                      |
xtcut      -f URL,prevCnt1                                             
-o xxprevCnt1

#ID無のページビューをカウント
xtcount  -k URL -a prevCnt0 -i usr0.xt                     |
xtcut      -f URL,prevCnt0                                           -o  
xxprevCnt0

#ID有のURL別ユニークユーザ数
xtuniq    -k URL,ID -i usr1.xt                                      |
xtcount  -k URL -a usrCnt1                                       |
xtcut       -f URL,usrCnt1                                              
-o xxusrCnt

#URLをキーに結合
xtjoin   -nN -k URL -m xxprevCnt1 -f prevCnt1 -i xxusrCnt                
     |
xtjoin   -nN -k URL -m xxprevCnt0 -f prevCnt0                            
             |
xtnulto  -f prevCnt0,prevCnt1,usrCnt1 -v 0                               
                 |
xtcal    -c'round($prevCnt0*($usrCnt1/$prevCnt1),0.01)' -a usrCnt0 |
xtcal    -c'($prevCnt0+$prevCnt1)' -a ページビュー数                            
|
xtcal    -c'($usrCnt0+$usrCnt1)'   -a ユニークユーザ数                           
|
xtcut    -f URL,ページビュー数,ユニークユーザ数 -o result.xt

rm -rf xx*
--------------ここまで 
---------------------------------------------------------------------

---
Hiroko Ishikura  s04ma****@sub*****




MUSASHI-users メーリングリストの案内
Back to archive index