- ベストアンサー
データの集計について
ホームページのアクセス数をデータベースにしているのですが 以下のようなことがしたいのですが どのような方法があるか教えてください 宜しくお願いします 日付 0時 1時 2時 …(23時まで) ―――――――――――――――― 02/06/01 10 20 30 … 02/06/02 20 20 40 … … ―――――――――――――――― ↓時間別で集計する 時間 合計 ―――――― 0 30 1 40 2 70 … (23まで) ――――――
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな簡単なロジックで良いのでしょうか。何となく質問の意図を誤解していないか心配ですが、掲載させてもらいます。 0時台から23時台までのそれぞれの項目に対応した配列 dim k(23)を作る。 0時台から23時台までのそれぞれの項目の中間合計に対応した配列dim t(23)を作る。 t(0)からt(23)を0にする。 レコードを順に読み、毎日の時間帯の件数をフィールド1、フィールド2、・・・・として、それぞれをk(0)からk(23)にセットする。 1レコードを読む毎にt(0)=t(0)+k(0)(k(0)はフィールド1の値) t(1)=t(1)+k(1)(k(1)はフィールド2の値)、・・・・をt(23)=t(23)+k(23)まで行う。 レコードがEOFになれば、あるいは月が変われば、t(0)からt(23)が求める月中件数合計です。さらに日数で割れば、時間帯別・平均訪問者件数が出ます。 アクセスでレコードを読んで、フィールドのデータを切り分けることが出来る人には上記は出きることと思います。
その他の回答 (1)
- nishi6
- ベストアンサー率67% (869/1280)
何で作った『データベース』でしょうか。Excelなら・・・ 1行目は表題で、質問にある、6月1日の0時の『10』はB2だとします。 データは1ヶ月間とします。 時間別で集計する箇所を、 『0』をA36、『30』をB36 『1』をA37、『40』をB37 『2』をA38、『70』をB38 とします。A列は『0』~『23』。 B36に =SUM(OFFSET($B$2,0,A36,31,1)) として、下にコピーします。(31は月単位の前提の為)
補足
nishi6さん 回答ありがとうございます すいません、環境書くの忘れてました ACCESS2000、WIN98です
お礼
imogasiさん 回答ありがとうございます imogasiさんの回答を元にモジュールを作成してみました 思い通りに動作させることが出来ました この質問の内容に少し変更点が出てきましたので また質問させてもらいますので また宜しくお願いしますm(_ _)m