在應用實例 找出同場馬以往相遇記錄 中我們闡述了如何在檢視中比較馬匹在轉馬房前後的表現,在本實例中我們會進一步利用投注樂的檢視統計功能列出所在轉新馬房後 60 日之內勝出的馬匹。假如你明白了本實例的原理,你將可以再進一步修改本實例中的檢視以得出些你更希望知悉的統計數字,例如:
• | 列出所有在舊馬房從未上名,而轉到新馬房之後 60 日之內勝出或上名的馬匹 |
• | 利用相同的原理,列出所有在舊路程從未勝出,而改跑了新路程之後立即上名的馬匹 |
檢視的結構
檢視名稱:轉馬房勝出
欄名 |
算式 |
類別(字數) |
統計欄 |
統計分組 |
馬匹 |
(內置欄位:馬匹名稱) |
|
|
是 |
舊馬房日期 |
HrDate(1, [For Not ]+Same('HrStableID( )')) |
Date |
|
|
60 日內勝出 |
HrDate( )-Column('舊馬房日期')<=60 And HrFp( )=1 |
Logical |
|
|
統計值 |
Iif(Column('60 日內勝出'),1,0) |
Numeric(1) |
是 |
|
欄位:舊馬房日期
「舊馬房日期」一欄的算式在 找出同場馬以往相遇記錄 一節有詳細解釋,如有疑問可以重溫該節的內容。
欄位:60 日內勝出
要設定轉馬房之後 60 日內勝出的條件,我們用「And」結合了兩個條件式:
1. | 要決定馬匹是否在本場勝出,我們用條件式 HrFp( )=1 |
2. | 要決定本場是否在轉了馬房之後 60 日之內的賽事,我們用條件式 |
HrDate( )-Column('舊馬房日期')<=60
請留意「60 日內勝出」一欄的資料類別為 Logical,假如以上兩個條件都成立,欄的值為「True」,否則為否。
欄位:統計值
由於檢視統計只能夠在資料類別為 Numeric 的欄位進行,所以我們加入了「統計值」一欄,利用 IIF( ) 函數 (Immediate IF) 檢查「60 日內勝出」欄的數值,假如數值是 True,欄位「統計值」的數值將會設定為 1,否則將會為 0 。
在一場賽事中檢視的數據
假如我們以本檢視開啟 2005 年 4 月 3 日第 10 場賽事,我們將會見到下表的數據。
• | 「一定好」在本場中勝出,而本場距一定好在舊馬房的日子 (20/2/2005) 只有 42 日,所以「60 日內勝出」一欄的值為 True,「統計值」一欄的值為 1 。 |
• | 「大文豪」未有轉換馬房,所以「在舊馬房的日子」一欄為 Null,由於所有牽涉 Null 值的四則運算結果都是 Null,所以「60 日內勝出」一欄的值為亦為 Null (方格內含一淺色方點表示 Null) ,「統計值」一欄成為 0 (留意 IIF( ) 函數把 Null 視作 False) 。 |
• | 「御林軍」本場敗陣,故「60 日內勝出」一欄的值為 False (方格內空白表示 False),「統計值」一欄亦成為 0 。 |
統計欄和統計分組
要利用檢視進行統計,我們必須在檢視中設定一統計欄,而且統計欄的資料類別必須是 Numeric,當我們進行統計的時候,投注樂會把每一場賽事的所有統計欄的數值累積 (相加),如有需要,我們可以進一步把統計欄的數值分組統計,在本例中我們把「馬匹」欄定為統計分組欄,即把一匹馬作視作一組,以顯示每一匹馬的累積統計值。
進行統計
要進行統計,按右方的 [統計] 鍵。
我會將會見到下面的表單,我們先在表單中設定一時段,由於我們只對 60 日內勝出 (「統計值」為 1) 的馬匹有興趣,所以我們選擇「不包括 0 值」,然後按 [計算] 鍵開始統計。投注樂會把統計結果顯示在在表單下方的表格之中,統計結果顯示在 2004-2005 年度首 638 場賽事中,轉馬房後 60 日之內勝出的馬共有 10 匹,其中「一定好」在 60 日之內勝出了兩次。
如要觀看一定好勝出的賽事,可以以滑鼠雙擊一定好,一定好的兩場勝出賽事將會在獨立的表單中顯示,如要詳細觀看其中一場賽事的詳細資料,則可以雙擊賽事日期。
以馬房分組
假如我們改以馬房分組(把馬匹欄轉為另一內置欄位「馬房」),我們可以比較不同的馬房的有關資料: