共用方式為


TopPercent (DMX)

適用於:SQL Server Analysis Services

TopPercent式會傳回遞減排名的順序,傳回其累計總計至少為指定百分比的數據表最上層數據列。

語法

  
TopPercent(<table expression>, <rank expression>, <percent>)  

套用至

傳回數據表的表示式,例如 <數據表數據行參考>,或傳回數據表的函式。

傳回類型

<數據表表達式>

備註

TopPercent 函式會根據每個數據列的排名表達式自變數評估值<,以遞減順序傳回排名最高的數據列,因此排名表達式>>值的總和<至少是百分比自變數所<指定的百分比>。 TopPercent 會傳回可能最少的項目數,同時仍符合指定的百分比值。

範例

下列範例會針對您使用基本數據採礦教學課程所建置的關聯模型建立預測查詢。

若要瞭解 TopPercent 的運作方式,最好先執行只傳回巢狀數據表的預測查詢。

SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 10)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

注意

在此範例中,提供做為輸入的值包含單引號,因此必須以另一個單引號開頭加以逸出。 如果您不確定插入逸出字元的語法,您可以使用預測查詢產生器來建立查詢。 當您從下拉式清單中選取值時,會為您插入必要的逸出字元。 如需詳細資訊,請參閱 在數據採礦設計師中建立單一查詢。

範例結果︰

Model $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
運動-100 4,334 0.291283016 0.252695851
水瓶 2,866 0.192620472 0.175205052
修補程式套件 2113 0.142012232 0.132389356
登山車輪內胎 1992 0.133879965 0.125304948
Mountain-200 17:55 0.117951475 0.111260823
Road Tire Tube 1,588 0.106727603 0.101229538
自行車帽 1473 0.098998589 0.094256014
芬德集 - 山 1415 0.095100477 0.090718432
Mountain Bottle Cage 1367 0.091874454 0.087780332
Road Bottle Cage 1,195 0.080314537 0.077173962

TopPercent 函式會取得此查詢的結果,並傳回具有加總至指定百分比之最大值的數據列。

SELECT   
TopPercent  
    (  
    Predict ([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),  
    $SUPPORT,  
    50)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
(SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

TopPercent 函式的第一個自變數是數據表數據行的名稱。 在此範例中,會呼叫 Predict 函式並使用 INCLUDE_STATISTICS 自變數來傳回巢狀數據表。

TopPercent 函式的第二個自變數是您用來排序結果之巢狀數據表中的數據行。 在此範例中,INCLUDE_STATISTICS選項會傳回數據行$SUPPORT、$PROBABILTY和$ADJUSTED PROBABILITY。 此範例使用 $SUPPORT,因為支援值不是小數,因此更容易驗證。

TopPercent 函式的第三個自變數會將百分比指定為雙精度浮點數。 若要取得總支援總額為 50% 的頂級產品數據列,請輸入 50。

範例結果︰

Model $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
運動-100 4,334 0.29... 0.25...
水瓶 2,866 0.19... 0.17...
修補程式套件 2113 0.14... 0.13...
登山車輪內胎 1992 0.133... 0.12...

注意 僅提供此範例來說明 TopPercent 的使用方式。 視數據集的大小而定,此查詢可能需要很長的時間才能執行。

警告

當用來計算百分比的值包含負數時,TOPPERCENT 和 BOTTOMPERCENT 的 MDX 函式可能會產生非預期的結果。 此行為不會影響 DMX 函式。 如需詳細資訊,請參閱 BottomPercent(MDX)

另請參閱

數據採礦延伸模組 (DMX) 函式參考
函式 (DMX)
一般預測函數 (DMX)