以前も少し書いたが、プログラマーではない。趣味でプログラムを書く程度だったので、プログラムで飯を食っている人ほどの技術はない。ただ、企画屋なので、この書き方とこの書き方組み合わせれば、こんな事できるんじゃないか…というのは割と容易に思いついたり、これとこれ使えばこんな事できるよね…みたいなので、いろいろ作ってしまっていた。
で、ここのデータも素人が作ったDBの構造だったりプログラムだったので、まぁ本職の人からすればあり得ないような運用で回していた。いつか直そう直そう…と思ってしばらく手を付けていなかったけど、ちょっと全面的に集計プログラムを直すことにした。
 以前はブラウザのURLにパラメーター(?id=ABCDE みたいなの)を渡してそのデータをDBから引っ張り出して表示。それだったら画面で集計して表示もできるんじゃないか…できた。じゃぁこれをupdateのSQLにして保存してしまって、そのSQLを作ってデータを1つ1つ更新かけられる…みたいな発想で動かしてしまっていた。(完全にプログラム初心者)
 updateのSQLファイルを作り、実行。しかもupdateだけなので、INSERT(データを入れる箱を作る)のも別でやっていたので、この手順だと恐ろしく時間と手間がかかっていた。(ある日batファイルで自動化できる事を知り、時間がかかってもボタン1つで集計できていたので、これを使っていた)
ようやく重い腰を動かして集計して直でINSERTとupdateができる形に総作り直ししたのが、最近。これもちょっとチェックが手間で作ってから以前の運用と新しい運用の切り替えをするまでに、また寝かせてしまったんだけど、従来の1/10以下の時間で集計・更新できるようになった。
 騎手・調教師・種牡馬・母父・母・生産者の各データは、基本的には同じ集計方法で、それぞれの集計項目(騎手とか調教師)を切り替えれば、同じ集計ができてしまうので、不要だろうけど、作っておくか…みたいなデータも結構ある。で、集計したデータが合っているかチェックするのにTARGETの「レース集計」で集計したデータと合わないデータがある。プログラムがおかしいのか?と思って差分がどこなのか、細かく見て行って気づいたが、どうやらTARGETの仕様らしい。。。
データに「確定着順」と「入線着順」と着順のデータは2つある。これはレースが終わった時の着順(入線着順)と審議等で着順が入れ替わる、失格・降着があった場合の確定着順。当然馬券検討する時に見るデータは勝率とか連対率・単勝回収値なので、「確定着順」の方で集計しているが、何故かTARGETと合わない項目があった。
この↓↓の集計の件、ひと通り全部の再集計終わってて、データの中身を確認したら微妙に合っていない。
— ittai (@ittai173) October 5, 2025
細かくデータを見直すと、TARGETの「レース集計」って“入線順位”で集計してて、“確定順位”で集計するとズレる。
備忘に残しておくけど、バグなのか仕様なのか…https://t.co/nwSlWhqCIe
↑↑に書いた通りだが、横山典弘騎手の1998年の3着のデータだけが合わない。

TARGETで集計すると1998年は104 – 71 – 90 -393となっているが、私が集計すると1998年は104 – 71 – 89 – 391になる。3着の90と89の違いを見ると、1998/10/18東京9RのアイビーSで、2位入線のエムエフミラクルが7着に降着で、ホシノサンデーが入線順位3着で確定順位2着というのがあった。

あれ?そしたら2着のデータもおかしくなるはず…と思って見たら、1998/11/14東京3Rで2着入線のスギノシティボーイが9着降着で、サウスヴィグラスが3位入線2着というのもあった。

恐らくコレが影響していそうで、TARGETのレース集計で集計されているのは、恐らく入線着順の方。また、4着以下については、私の方は異常時は競走中止だった場合のみを4着以下に加算しているが、恐らく競走除外・発走除外・出走取り消し辺りもも4着以下に加算されている。これに関しては、馬券中心に考えると除外は走っていない&馬券は返還されているので、除外は含めない方が良いとは思うが、一応その差分であるという事はここにメモしておく。
もう1つメモついでに。種牡馬の数を集計していて合わなかった。年度別にロードカナロアの数値を調べたら

ロードカナロア産駒の勝利数が合わない。TARGETで集計すると2021年は164勝。私の方の集計では166勝になる。どっちが正しいのか?どこが違うのか?と、まずは数値確認でJRAのHPを見ると

166勝になっていて、私の方の集計は正しい。では、差分が何か?と細かく調べると、ドンナセレーノの2勝が含まれていない。ドンナセレーノは○外で父は「Lord Kanaloa」を見て、あぁ…と。母が2014年のオークス馬ヌーヴォレコルトで、海外で生まれたロードカナロア産駒。海外で生まれて持ち込まれたので、○外だが、この場合繁殖コード(種牡馬コード)が別モノになっている。
 11202295:ロードカナロア
 11407113:Lord Kanaloa
で、ドンナセレーノがロードカナロア産駒扱いになっておらず、集計の対象から漏れている。
これはTARGETの問題ではなく、Data lab側のデータ仕様の問題で、かなり昔に同じ事を書いた事がある。普通に集計して差分があると、あれ?と思って細かく調べてまた同じ問題にたどり着いてしまった。まぁ集計自体は問題ないという事で良しとしたい。

