TopSum (DMX)
以遞減次序的順序,傳回累計總和至少達指定值的最上方資料表資料列。
語法
TopSum(<table expression>, <rank expression>, <sum>)
適用於
傳回資料表 (例如 <table column reference>) 的運算式,或者傳回資料表的函數。
傳回類型
<table expression>
備註
TopSum 函數根據每個資料列之 <rank expression> 引數的評估值,以遞減的次序順序傳回最頂部的資料列,只要 <rank expression> 值的總和至少為 <sum> 引數所指定的給定總和。TopSum 就會傳回符合指定之總和值的可能最小元素數目。
範例
下列範例會針對您使用資料採礦基本教學課程建立的關聯模型,建立預測查詢。
為了解 TopSum 如何運作,先執行僅傳回巢狀資料表的預測查詢可能相當實用。
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
[!附註]
在此範例中,當做輸入提供的值包含單引號,因此必須在該值前面加上另一個單引號來逸出。如果您不確定插入逸出字元的語法,可以使用預測查詢產生器來建立查詢。當您從下拉式清單選取值時,就會為您插入所需的逸出字元。如需詳細資訊,請參閱<如何:在資料採礦設計師中建立單一查詢>。
範例結果:
模型 |
$SUPPORT |
$PROBABILITY |
$ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 |
4334 |
0.291283016 |
0.252695851 |
Water Bottle |
2866 |
0.192620472 |
0.175205052 |
Patch kit |
2113 |
0.142012232 |
0.132389356 |
Mountain Tire Tube |
1992 |
0.133879965 |
0.125304948 |
Mountain-200 |
1755 |
0.117951475 |
0.111260823 |
Road Tire Tube |
1588 |
0.106727603 |
0.101229538 |
Cycling Cap |
1473 |
0.098998589 |
0.094256014 |
Fender Set - Mountain |
1415 |
0.095100477 |
0.090718432 |
Mountain Bottle Cage |
1367 |
0.091874454 |
0.087780332 |
Road Bottle Cage |
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 函數的第三個引數會將目標總和指定為雙精度浮點數。若要取得加總為百分之 50 機率之重要產品的資料列,請輸入 .5。
範例結果:
型號 |
$SUPPORT |
$PROBABILITY |
$ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 |
4334 |
0.29… |
0.25… |
Water Bottle |
2866 |
0.19… |
0.17… |
Patch kit |
2113 |
0.14… |
0.13… |
[!附註]
提供這個範例只是為了說明 [TopSum] 的使用方式。根據資料集的大小而定,此查詢可能會花上很長的一段執行時間。