TopSum (DMX)

適用於: SQL Server Analysis Services

傳回遞減排名順序,傳回資料表的最上層資料列,其累計總計至少為指定的值。

語法

  
TopSum(<table expression>, <rank expression>, <sum>)  

套用至

傳回資料表的運算式,例如 < 資料表資料行參考 > ,或傳回資料表的函式。

傳回類型

<資料表運算式>

備註

TopSum 函式會根據每個資料列的排名運算式引數評估值 < ,以遞減順序傳回排名最高的資料列,因此排名運算式 >> 值的總和 < 至少是 sum > 引數所 < 指定的總計。 TopSum 會傳回可能最少的專案數,同時仍符合指定的總和值。

範例

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

若要瞭解 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 4334 0.291283016 0.252695851
水瓶 2866 0.192620472 0.175205052
修補程式套件 2113 0.142012232 0.132389356
山輪胎管 1992 0.133879965 0.125304948
Mountain-200 1755 0.117951475 0.111260823
Road Tire Tube 1588 0.106727603 0.101229538
自行車帽 1473 0.098998589 0.094256014
芬德集 - 山 1415 0.095100477 0.090718432
山瓶籠 1367 0.091874454 0.087780332
路瓶籠 1195 0.080314537 0.077173962

TopSum 函式會取得此查詢的結果,並傳回具有加總至指定計數的最大值的資料列。

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

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

TopSum 函式的第二個引數 是您用來排序結果之巢狀資料表中的資料行。 在此範例中,INCLUDE_STATISTICS選項會傳回資料行$SUPPORT、$PROBABILTY和$ADJUSTED PROBABILITY。 此範例會使用 $PROBABILITY 傳回至少 50% 機率的總和的資料列。

TopSum 函式的第三個引數 會將目標總和指定為 double。 若要取得總和為 50% 機率的最上層產品資料列,請輸入 .5。

範例結果:

Model $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
運動-100 4334 0.29... 0.25...
水瓶 2866 0.19... 0.17...
修補程式套件 2113 0.14... 0.13...

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

另請參閱

函式 (DMX)
一般預測函數 (DMX)
TopPercent (DMX)