外部データ登録の使い方
この機能では、JRA-VANや地方競馬DATA以外の外部データを、PostgreSQLに取り込むことができます。対応しているファイル形式は「固定長データ形式」のみです。「CSV形式」や、その他のファイル形式には対応していないのでご注意ください。
「外部データ登録」は有料会員限定のメニューです。有料会員については「会員について」のマニュアルで解説しているので参考にして下さい。
競馬道OnLineとJRDBで使う
外部データ登録の使い方のサンプルとして、競馬道OnLineとJRDBの「設定ファイル」と「テーブル作成のSQL」を用意しています。
「外部データ登録」機能の追加により、PC-KEIBA Databaseは以下のすべての主要競馬データサービスに対応できるようになりました!
- JRA-VAN
- 地方競馬DATA
- 競馬道OnLine
- JRDB
このページの最後に、管理人@PC-KEIBAが開発に使ったオリジナルのデータ仕様書(PDF版)も有料会員に公開しています。必要な方はぜひご覧ください。
テーブルを作る
外部データを登録するためには、まず必要な「テーブル」を作成します。テーブルの作成は、管理人@PC-KEIBAがあらかじめ用意しているSQLを使うだけなので安心してください。ボタンをクリックするだけの簡単な操作で完了します。
SQLの実行方法については、「SQLファイルをまとめて実行する」の記事を参考にしてください。
このページの最後に、競馬道OnLineとJRDBのテーブル作成SQLを有料会員に公開しています。ユーザーがカスタマイズして利用することも可能です。

「外部データ登録」画面の表示
- ツールバーの「データ」をクリックします。
- メニューの「外部データ登録」をクリックします。

設定ファイルを指定する
「設定ファイル」とは、外部データをPostgreSQLのテーブルに登録するために必要な情報をまとめたファイルです。このファイルでは、次の3つの項目をXML形式で定義します。
- 解凍後のファイル名
- 登録先のテーブル名
- 項目名と桁数(byte数)
これも、管理人@PC-KEIBAがあらかじめ用意している設定ファイルを使うだけです。
このページの最後に、競馬道OnLineとJRDBの設定ファイルを有料会員に公開しています。ユーザーがカスタマイズして利用することも可能です。
外部データは1行ずつ読み込まれます。そして、設定ファイルの内容にしたがって、固定長データが切り出され、対応するテーブルに登録されます。
データファイルの保存先を設定する
次に、データファイルを保存するフォルダを指定してください。最近のパソコンはSSDが主流ですが、予算に余裕があれば、外付けのHDD(ハードディスク)に保存するのがオススメです。というのも、過去データのファイルは容量がデカいので、繰り返しの書き込みに強いHDDの方が安心です。

一括ダウンロード
ところで、競馬道OnLineやJRDBの公式サイトには、過去のデータをダウンロードできる専用ページがあります。ただし、データファイルがたくさんあるため、1つずつ手作業でダウンロードするのはとても大変です。
そこで、必要なファイルを画面上で選ぶだけで、自動的にまとめてダウンロードしてくれる専用のWebブラウザを作りました。これを使えば、過去データの準備がずっとラクになります!
毎週更新される最新データについては、通常のWebブラウザからダウンロードしても、メールで届いたデータを使っても大丈夫です。とにかく、パソコンにデータをダウンロードできればOKです!
画面左下のボタンをクリックすると、
- 競馬道ダウンロード
- JRDBダウンロード
があります。通常のWebブラウザと同じようにログイン画面からログインしてください。

競馬道OnLine
一括ダウンロードに対応しているのは、以下のページです。次の順番で画面を進んでください。
日別ダウンロード
- ログイン
- 配信設定
- 日別ダウンロード

まとめてダウンロード(過去分データ)
- ログイン
- 配信設定
- まとめてダウンロード

JRDB
一括ダウンロードに対応しているのは、以下のページです。次の順番で画面を進んでください。
最近一週間のデータ
- トップページ
- 会員ログイン
- JRDBデータ
- 個別データ
- 最近一週間のデータ

個別データ(過去分データ)
- トップページ
- 会員ログイン
- JRDBデータ
- 個別データ

ファイル選択
一括ダウンロードに対応しているページでは、画面の右下にある「ファイル選択」ボタンをクリックすると、ファイルを選ぶための画面が表示されます。

この画面で、ダウンロードしたいファイルを選択して「OK」ボタンをクリックすると、本来なら1つずつ手作業でダウンロードする必要があるファイルを、まとめて自動でダウンロードできます。
ダウンロードが完了するまで、しばらくお待ちください。
この専用ブラウザでも、通常のWebブラウザと同じように、画面上のリンクをクリックしてダウンロードすることもできます。
複数ファイルのダウンロードを許可
Webブラウザの左上に、複数ファイルのダウンロードを確認するメッセージが出てきたら「許可」ボタンをクリックしてください。

Webブラウザの「戻る」と「進む」
通常のWebブラウザにある「戻る」と「進む」のボタンは、このソフトでは画面の左下にある小さなボタンをクリックすると出てくるメニューの中にあります。

外部データ登録を実行する
ここまでの準備ができたら、いよいよ外部データ登録を実行します。「開始」ボタンをクリックすると、設定ファイルの内容にしたがって、データファイルが読み込まれ、データベースのテーブルに自動で登録されます。

JRA-VANのテーブルと結合するには
さて、競馬道OnLineとJRA-VANでは、使われている「競馬場コード」が異なります。また、JRDBでは「レース施行年」と「開催回」や「開催日目」の桁数が、他のサービスと違っています。このように、データの「キー項目」が異なると、そのままでは別のサービスのテーブル同士を結合できません。
では、どうすればいいのでしょうか?一番簡単な方法は、それぞれのキーを対応させたマッピング用のテーブルを作ることです。

過去のデータについては、専用のプロシージャ(SQLプログラミング)を使って一括で変換し、毎週の最新データについては、同じプロシージャを週1回実行するだけでOKです。この「マッピング用テーブル」を通してデータを結合すれば、キー項目が違うデータでも、1つにまとめた一覧を作ることができます。その結果、競馬予想AIの学習データの開発も、スムーズに進められるようになります。
このページの最後に、競馬道OnLineとJRDBのマッピング用テーブル作成プロシージャ(SQL)を有料会員に公開しています。
JRA-VANと競馬道OnLineを結合するには
JRA-VANと競馬道OnLineのテーブルを結合するには、主キーを以下のように結合すればOKです。
これは、あくまで1つのサンプルです。主キーが同じ定義のテーブル同士であれば、同じ方法で結合して使うことができます。テーブルに馬番が含まれている場合は、馬番も結合条件に加えればOK。
SELECT
sei1.*
FROM
jvd_ra ra
INNER JOIN
myd_key_map map
ON map.kaisai_nen = ra.kaisai_nen
AND map.kaisai_tsukihi = ra.kaisai_tsukihi
AND map.keibajo_code = ra.keibajo_code
AND map.race_bango = ra.race_bango
INNER JOIN
kod_sei1 sei1
ON sei1.keibajo_code = map.kol_keibajo_code
AND sei1.race_shikonen = ra.kaisai_nen
AND sei1.kaisai_kai = ra.kaisai_kai
AND sei1.kaisai_nichime = ra.kaisai_nichime
AND sei1.race_bango = ra.race_bango
JRA-VANとJRDBを結合するには
JRA-VANとJRDBのテーブルを結合するには、主キーを以下のように結合すればOKです。
これは、あくまで1つのサンプルです。主キーが同じ定義のテーブル同士であれば、同じ方法で結合して使うことができます。テーブルに馬番が含まれている場合は、馬番も結合条件に加えればOK。
SELECT
bac.*
FROM
jvd_ra ra
INNER JOIN
myd_key_map map
ON map.kaisai_nen = ra.kaisai_nen
AND map.kaisai_tsukihi = ra.kaisai_tsukihi
AND map.keibajo_code = ra.keibajo_code
AND map.race_bango = ra.race_bango
INNER JOIN
jrd_bac bac
ON bac.keibajo_code = ra.keibajo_code
AND bac.race_shikonen = map.jrdb_race_shikonen
AND bac.kaisai_kai = map.jrdb_kaisai_kai
AND bac.kaisai_nichime = map.jrdb_kaisai_nichime
AND bac.race_bango = ra.race_bango
外部データ登録のカスタマイズ
もし、あなたが使いたいデータファイル(外部データ)が、管理人@PC-KEIBAがあらかじめ用意している設定ファイルの中に含まれていない場合は、
例えば、旧形式の競馬道OnLine(kd2)や、旧形式のJRDBのようなデータであれば、サンプルとして用意している「テーブル」と「設定ファイル」を参考にしながら、見よう見まねでオリジナルの設定ファイルを作れば良いだけです。
その際に使うデータベースの「テーブル」は、設定ファイルの内容と同じになるように作りましょう。具体的には、テーブルの名前や、各項目の名前、桁数が設定ファイルと一致していればOKです!