読者です 読者をやめる 読者になる 読者になる

accessメモ

クラウドからのコピペです。馬王Zで動作確認済みのカスタムキーワード。ちなみに二重括弧での表記は※印表記になり、読みにくくなるのであえてカッコとカッコの間を開けてます。

 

 ◆カスタムキーワード


レース 予想タイム指数平均値a 

INT(AVG(予想タイム指数)*10)/10


レース 予想タイム指数平均値b 

INT(AVG(予想タイム指数)*10)/10

予想タイム指数>予想タイム指数平均値a-20

 

レース 最低勝率 

INT(10/頭数*10)/10


出走馬 過程値 

IIF( (予想タイム指数-予想タイム指数平均値b+14)<=0,"0",INT( (予想タイム指数-予想タイム指数平均値b+14)^4*10)/10)
異常区分コード not between 1 and 3

レース 過程値合計 sum(過程値)


出走馬 過程値a 

INT(過程値/過程値合計*100*10)/10
異常区分コード not between 1 and 3

 

出走馬 過程値b 

IIF(異常区分コード between 1 and 3,0,IIF(過程値a<最低勝率,最低勝率,INT(過程値/過程値合計*100*10)/10))
異常区分コード not between 1 and 3

 

レース 過程値b合計 

int(sum(過程値b)*10)/10


出走馬 調節値 

abs( (100.1-過程値b合計)*10)
異常区分コード not between 1 and 3

 

出走馬 勝率 

IIF(頭数<調節値,過程値b+int( ( (調節値-0.1*頭数)/頭数/10)*10)/10,
IIF(頭数<調節値,過程値b-int( ( (調節値-0.1*頭数)/頭数/10)*10)/10,
IIF( (過程値b合計<100) and (予想タイム指数順位>(頭数-調節値)),過程値b+0.1,
IIF( (過程値b合計>100) and (予想タイム指数順位<(頭数-調節値)),過程値b-0.1,過程値b))))

異常区分コード not between 1 and 3

 

レース 勝率標準偏差 

int(stdev(勝率)*10)/10

 

出走馬 充足率 

IIF(キャリア>=4,100,IIF(キャリア=3,75,IIF(キャリア=2,50,IIF(キャリア=1,25,0))))

 

レース レース充足率 

INT(AVG(充足率)*10)/10

 

出走馬 父繁殖登録番号 

SELECT 競走馬マスタ.繁殖登録番号1
FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN 競走馬マスタ ON S.血統登録番号=競走馬マスタ.血統登録番号
WHERE S.競走コード=出走馬T.競走コード

 

出走馬 母繁殖登録番号 

SELECT 競走馬マスタ.繁殖登録番号2
FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN 競走馬マスタ ON S.血統登録番号=競走馬マスタ.血統登録番号
WHERE S.競走コード=出走馬T.競走コード
AND S.馬番=出走馬T.馬番

 

出走馬 父繁殖馬生年 

select 繁殖馬マスタ.生年
FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN 繁殖馬マスタ ON S.父繁殖登録番号=繁殖馬マスタ.繁殖登録番号
WHERE S.競走コード=出走馬T.競走コード
AND S.馬番=出走馬T.馬番

 

出走馬 母繁殖馬生年 

select 繁殖馬マスタ.生年
FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN 繁殖馬マスタ ON S.母繁殖登録番号=繁殖馬マスタ.繁殖登録番号
WHERE S.競走コード=出走馬T.競走コード
AND S.馬番=出走馬T.馬番

 

出走馬 父出産年齢 

(LEFT(月日,4)-出走馬T.馬齢)-出走馬T.父繁殖馬生年
 
出走馬 母出産年齢 

(LEFT(月日,4)-出走馬T.馬齢)-出走馬T.母繁殖馬生年

 

出走馬 母血統登録番号 

select 繁殖馬マスタ.血統登録番号
FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN 繁殖馬マスタ ON S.母繁殖登録番号=繁殖馬マスタ.繁殖登録番号
WHERE S.競走コード=出走馬T.競走コード
AND S.馬番=出走馬T.馬番

 

出走馬 母平地収得賞金累計 

SELECT INT(AVG(競走馬マスタ.平地収得賞金累計)/100)
FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN 競走馬マスタ ON S.母血統登録番号=競走馬マスタ.血統登録番号
WHERE 出走馬T.競走コード=S.競走コード
AND 出走馬T.馬番=S.馬番

 

出走馬 母評価 

SWITCH(母平地収得賞金累計>1400,"A",
母平地収得賞金累計>1000,"B",
母平地収得賞金累計>900,"C",
母平地収得賞金累計>600,"D",
母平地収得賞金累計>500,"E",
TRUE,"")

 

出走馬 出生順位

SELECT COUNT(競走馬マスタ.血統登録番号)//非常に時間がかかるので注意

FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード) LEFT JOIN 競走馬マスタ ON S.繁殖登録番号=競走馬マスタ.繁殖登録番号2

WHERE 出走馬T.競走コード=S.競走コード AND 出走馬T.馬番=S.馬番


出走馬 馬番判定

IIF( (馬番 mod 2)=0,1,2)
異常区分コード not between 1 and 3

 


◆マクロ


単勝平均的中率{
INT(1/頭数*100*100)/100}

馬連平均的中率{
INT(1/( (頭数)*(頭数-1)/2)*100*100)/100}

馬単平均的中率{
INT(1/( (頭数)*(頭数-1))*100*100)/100}

三連複平均的中率{
INT(1/( (頭数)*(頭数-1)*(頭数-2)/3)*100*100)/100}

三連単平均的中率{
INT(1/( (頭数)*(頭数-1)*(頭数-2))*100*100)/100}

馬連的中率{
INT( (馬1.勝率*(馬2.勝率/(100-馬1.勝率)))+(馬2.勝率*(馬1.勝率/(100-馬2.勝率)))*100)/100}

馬単的中率{
INT(馬1.勝率*(馬2.勝率/(100-馬1.勝率))*100)/100}

三連複的中率{
INT(馬1.勝率*(馬2.勝率/(100-馬1.勝率))*(馬3.勝率/(100-馬1.勝率-馬2.勝率))+
馬1.勝率*(馬3.勝率/(100-馬1.勝率))*(馬2.勝率/(100-馬1.勝率-馬3.勝率))+
馬2.勝率*(馬1.勝率/(100-馬2.勝率))*(馬3.勝率/(100-馬1.勝率-馬2.勝率))+
馬2.勝率*(馬3.勝率/(100-馬2.勝率))*(馬1.勝率/(100-馬2.勝率-馬3.勝率))+
馬3.勝率*(馬1.勝率/(100-馬2.勝率))*(馬2.勝率/(100-馬1.勝率-馬3.勝率))+
馬3.勝率*(馬2.勝率/(100-馬3.勝率))*(馬1.勝率/(100-馬2.勝率-馬3.勝率))*100)/100}

 

三連単的中率{
INT(馬1.勝率*(馬2.勝率/(100-馬1.勝率))*(馬3.勝率/(100-馬1.勝率-馬2.勝率))*100)/100}

 

馬連支持率{
INT(1/馬連オッズ*100)/100}

 

PATTERN4 {
(馬1.馬番*10000+馬2.馬番*100+馬3.馬番)
}

 

◆ステータスバー

 

Format(オッズ取得時刻, 'オッズhh:nn ')  & (SELECT IIf(Sum(金額) Is Null, '', ' 投票' & Format(Sum(金額),'#,###円') & IIf(Sum(結果) Is Null, '', ' 配当' & Format(Sum(結果*金額\100), '#,##0円') & ' 収支' & Format(Sum(結果*金額\100)-Sum(金額), '+#,##0円;-#,##0円;0円')) ) FROM 投票記録T WHERE 投票記録T.競走コード=レースT.競走コード) & iif(isnull(オッズ取得時刻),"",

"" &

 

" 券種別シェア:単勝" &

int(票数T.単勝票数合計 *1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+iif(isnull(票数T.三連単票数合計),"0",票数T.三連単票数合計) ) )/10 & "% 複勝" &

 

int(票数T.複勝票数合計 *1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+iif(isnull(票数T.三連単票数合計),"0",票数T.三連単票数合計) ) )/10 & "% 枠連" &

 

int(票数T.枠連票数合計 *1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+iif(isnull(票数T.三連単票数合計),"0",票数T.三連単票数合計) ) )/10 & "% 馬連" &

 

iif(馬連発売フラグ=0,"…",

int(票数T.馬連票数合計 *1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+iif(isnull(票数T.三連単票数合計),"0",票数T.三連単票数合計) ) )/10 ) & "% ワイド" &

 

iif(ワイド発売フラグ=0,"…",

int(票数T.ワイド票数合計*1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+iif(isnull(票数T.三連単票数合計),"0",票数T.三連単票数合計) ) )/10 ) & "% 馬単" &

 

int(票数T.馬単票数合計 *1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+iif(isnull(票数T.三連単票数合計),"0",票数T.三連単票数合計) ) )/10 & "% 三複" &

 

int(票数T.三連複票数合計*1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+iif(isnull(票数T.三連単票数合計),"0",票数T.三連単票数合計) ) )/10 & "% 三単" &

 

iif(三連単発売フラグ=0,"…%",

int(票数T.三連単票数合計*1000 / (票数T.単勝票数合計+票数T.複勝票数合計+票数T.枠連票数合計+票数T.馬連票数合計+票数T.ワイド票数合計+票数T.馬単票数合計+票数T.三連複票数合計

+票数T.三連単票数合計) )/10 & "%") ) & " 三単票数" & format(票数T.三連単票数合計,"#,###") & "(単位100円)"



 


◆データベース操作

 

良血馬
select レースT.月日,レースT.場名,レースT.競走番号 & "R" AS R,switch(レースT.トラック種別コード=0,"芝",レースT.トラック種別コード=1,"ダ",レースT.トラック種別コード=2,"障") as 馬場,レースT.距離 & "m" AS 距離,format(レースT.発走時刻,"hh:nn") AS 発走時刻,出走馬T.馬番,出走馬T.馬名,出走馬T.騎手名,出走馬T.所属,競走馬マスタ.生年月日,競走馬マスタ.繁殖馬名2 as 母馬名,競走馬マスタ.産地名 as 誕生地,競走馬マスタ.生産者名
FROM (レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード)
LEFT JOIN 競走馬マスタ ON 出走馬T.血統登録番号=競走馬マスタ.血統登録番号
where 月日 between #2016/2/6# and #2016/2/7#
and 出走馬T.母平地収得賞金累計>3000
and キャリア<2

 

全レース一覧
select レースT.場名,レースT.競走番号 & "R" AS R,レースT.距離 & "m" AS 距離,format(レースT.発走時刻,"hh:nn") AS 発送時刻,出走馬T.枠番,出走馬T.馬番,出走馬T.馬名,出走馬T.得点V3,出走馬T.得点V3順位 AS 順位,int(出走馬T.予想タイム指数*10)/10 AS 予想タイム,出走馬T.勝率,出走馬T.予想タイム指数順位 AS T順位,出走馬T.枠順評価 AS 枠評価,出走馬T.騎手名,出走馬T.騎手評価 AS 騎手,競走馬マスタ.繁殖馬名1 AS 父,出走馬T.血統総合評価 AS 評価,競走馬マスタ.繁殖馬名5 AS 母父,出走馬T.血統総合評価B AS 評価B,出走馬T.母出産年齢 AS 出産,出走馬T.出生順位 AS 出生,出走馬T.兄弟平地本賞金累計 AS 兄弟収得,出走馬T.母平地収得賞金累計 AS 母収得,出走馬T.母母平地収得賞金累計 AS 母母収得
FROM (レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード)
LEFT JOIN 競走馬マスタ ON 出走馬T.血統登録番号=競走馬マスタ.血統登録番号
where 月日=#2015/11/1#

 

全レース一覧簡易版
select レースT.場名,レースT.競走番号 & "R" AS R,レースT.距離 & "m" AS 距離,format(レースT.発走時刻,"hh:nn") AS 発送時刻,出走馬T.枠番,出走馬T.馬番,出走馬T.馬名,出走馬T.得点V3,出走馬T.得点V3順位 AS 順位,int(出走馬T.予想タイム指数*10)/10 AS 予想タイム,出走馬T.勝率,出走馬T.予想タイム指数順位 AS T順位,出走馬T.枠順評価 AS 枠評価,出走馬T.騎手名,出走馬T.騎手評価 AS 騎手
FROM (レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード)
LEFT JOIN 競走馬マスタ ON 出走馬T.血統登録番号=競走馬マスタ.血統登録番号
where 月日=#2015/11/1#
and 競走番号 between 1 and 12

 

競走馬番付
select int(出走馬T.タイム指数*10)/10 as タイム指数,出走馬T.馬名,出走馬T.母評価,出走馬T.母出産年齢,出走馬T.キャリア,レースT.競走名,出走馬T.確定着順
from レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード
where (出走馬T.性別コード between 1 and 2)
and 出走馬T.血統登録番号>2013000000
and 出走馬T.年月日 between #2015/6/1# and #2016/6/1#

 

競走馬番付芝限定
select int(出走馬T.タイム指数*10)/10 as タイム指数,出走馬T.馬名,出走馬T.母評価,出走馬T.母出産年齢,出走馬T.キャリア,レースT.競走名,出走馬T.確定着順
from レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード
where (出走馬T.性別コード between 1 and 2)
and 出走馬T.血統登録番号>2013000000
and レースT.トラック種別コード=0
and 出走馬T.年月日 between #2015/6/1# and #2016/6/1#

 

競走馬番付ダート限定
select int(出走馬T.タイム指数*10)/10 as タイム指数,出走馬T.馬名,出走馬T.母評価,出走馬T.母出産年齢,出走馬T.キャリア,レースT.競走名,出走馬T.確定着順
from レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード
where (出走馬T.性別コード between 1 and 2)
and 出走馬T.血統登録番号>2013000000
and レースT.トラック種別コード=1
and 出走馬T.年月日 between #2015/6/1# and #2016/6/1#


競走馬番付芝牡馬
select int(出走馬T.タイム指数*10)/10 as タイム指数,出走馬T.馬名,出走馬T.母評価,出走馬T.母出産年齢,出走馬T.キャリア,レースT.競走名,出走馬T.確定着順
from レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード
where (出走馬T.性別コード=1)
and 出走馬T.血統登録番号>2013000000
and レースT.トラック種別コード=0
and 出走馬T.年月日 between #2015/6/1# and #2016/6/1#


競走馬番付ダート牡馬
select int(出走馬T.タイム指数*10)/10 as タイム指数,出走馬T.馬名,出走馬T.母評価,出走馬T.母出産年齢,出走馬T.キャリア,レースT.競走名,出走馬T.確定着順
from レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード
where (出走馬T.性別コード=1)
and 出走馬T.血統登録番号>2013000000
and レースT.トラック種別コード=1
and 出走馬T.年月日 between #2015/6/1# and #2016/6/1#

 

競走馬番付牡馬
select int(出走馬T.タイム指数*10)/10 as タイム指数,出走馬T.馬名,出走馬T.母評価,出走馬T.母出産年齢,出走馬T.キャリア,レースT.競走名,出走馬T.確定着順
from レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード
where (出走馬T.性別コード=1)
and 出走馬T.血統登録番号>2013000000
and 出走馬T.年月日 between #2015/6/1# and #2016/6/1#

 

競走馬番付牝馬

過去レーティング検索
select int(出走馬T.タイム指数*10)/10 as レーティング,出走馬T.馬名,出走馬T.タイム,出走馬T.キャリア,レースT.競走名,出走馬T.確定着順
from レースT INNER JOIN 出走馬T ON レースT.競走コード=出走馬T.競走コード
where (出走馬T.性別コード between 1 and 3)
and レースT.競走名="桜花賞"
and 出走馬T.年月日 between #1990/1/1# and #2016/6/1#