ランキングデータを活用するにあたって、ボクは当初、前回紹介したExcel処理後にAccessでランキング履歴データの集計をしていました。
今回は、件数が増えるにつれてExcel処理に限界を感じたボクがAccessに移行した際の処理方法です。
最初の設定は未知のことだらけで大変でしたが、結果・・・すごく楽になりました!
細かいわりにほとんどの人のお役には立てないのではないかとも思うので、できるだけ駆け足で進めます!
ランキング取得マスタ
まずは、2つのテーブルを作っていきます。1つは
【ランキング取得マスタ】
です(ボクがこの名前にしているだけなので、テーブル名はみなさんの好きな名前でかまいません)
項目は
- ASIN
- 取得開始日付
- 前回ランキング
ASINリストを追加する都度、ランキング取得マスタに追加するか、ツールで取得したCSVのうち新規ASINのみ追加していきます。

↑こんな感じです。
ランキングデータ履歴
もう1つのテーブルは
【ランキングデータ履歴】
項目:パワーアップ後のツールで取得しているCSVデータ項目に、「UPCOUNT」を追加したものですが、パワーアップ前の新品・中古の価格等は無くてもかまいません。
- ASIN
- 取得日時
- Ranking
- 新品価格
- 新品出品者数
- 中古価格
- 中古出品者数
- UPCOUNT
です。誤って同じデータを2回取り込まないように、ASIN-取得日時の組み合わせを主キーに設定しておきましょう。

インポート手順
あとは、下記手順でインポート/マスタ更新の設定を行っていきます。
1.ランキング取得ツールが作成する最新CSVファイル(RankingCheck.csv)をAccessに外部データとして登録
※パワーアップ後のツールは、毎回最新のデータのみがこのファイル名になっていることがポイントです

2.Accessの追加クエリ「ランキングデータ追加」を作成し、最新CSVファイルをAccessの【ランキングデータ履歴】テーブルに追加データとしてインポートできるようにします。

追加クエリで追加する際に、【ランキング取得マスタ】の「前回ランキング」とCSVの「Ranking」を比較して、上昇していたらUPCOUNTを1、上昇してなければ0、と判断しながら【ランキングデータ履歴】にデータを追加していくようにします。これでExcelの並び替え等は不要になります!
1 |
UPCOUNT: IIf([RankingCheck]![Ranking]<[ランキング取得マスタ]![前回ランキング]*0.95,1,0) |
最後にAccessのシンプルな更新クエリ「ランキング取得マスタ更新」を作成して、【ランキング取得マスタ】の「前回ランキング」のデータを今インポートに使ったのと同じCSVファイルの「Ranking」に更新する処理を作成できるようにします。

あとは、Accessの「マクロ」処理で「ランキングデータ追加」クエリと「ランキング取得マスタ更新」クエリで行う2つの処理を1回のマクロで実行できるようにします。

これであとはマクロを実行するたびにRankingCheck.csvのデータを元に2つの処理が実行されていきます。
ランキングデータ活用の応用
こうやってAccessのテーブルに蓄積されていくランキングデータをどう使っていくか
前回Excel編でもご紹介したように、Accessで一定期間のランキングアップ数を集計していく他、いろいろな使い道のヒントがあります。
- ランキングアップ=売れたときに、直近の新品最低価格を「売れたときの価格」と仮定して、過去1ヶ月間の「平均価格」の算出を試みる
- 同様にランキングアップの際に新品出品者数が減らずに直近の中古出品者数が減少している場合、売れたのは「中古」と判断してUPCOUNTを数えない、あるいは新品UPCOUNTと中古UPCOUNTを別々に集計する
ランキングアップ含めて、取得できたデータから何が起きたかを推測しているにすぎないため、過度の正確性を求めることはできません。
しかし、ある程度データが蓄積してくると、上記のようにさまざまな人の判断をサポートしてくれるさらなる武器になってくれます。
ぜひご活用してみてください!
スポンサーリンク
コメントを残す