TopPercent (DMX)
TopPercent 函數會以遞減的次序,傳回累計總和至少為指定之百分比的資料表頂部資料列。
語法
TopPercent(<table expression>, <rank expression>, <percent>)
適用於
傳回資料表 (例如 <table column reference>) 的運算式,或者傳回資料表的函數。
傳回類型
<table expression>
備註
TopPercent 函數根據每個資料列之 <rank expression> 引數的評估值,以遞減的次序順序傳回最頂部的資料列,只要 <rank expression> 值的總和至少為 <percent> 引數所指定的給定總和。 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
[!附註]
在此範例中,當做輸入提供的值包含單引號,因此必須在該值前面加上另一個單引號來逸出。 如果您不確定插入逸出字元的語法,可以使用預測查詢產生器來建立查詢。 當您從下拉式清單選取值時,就會為您插入所需的逸出字元。 如需詳細資訊,請參閱<在資料採礦設計師中建立單一查詢>。
範例結果:
型號 |
$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 |
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。
範例結果:
型號 |
$SUPPORT |
$PROBABILITY |
$ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 |
4334 |
0.29… |
0.25… |
Water Bottle |
2866 |
0.19… |
0.17… |
Patch kit |
2113 |
0.14… |
0.13… |
Mountain Tire Tube |
1992 |
0.133… |
0.12… |
注意:提供這個範例只是為了說明 TopPercent 的使用方式。 根據資料集的大小而定,此查詢可能會花上很長的一段執行時間。
注意 |
---|
當用來計算百分比的值包含負數時,TOPPERCENT 和 BOTTOMPERCENT 的 MDX 函數會產生非預期的結果。 這種行為並不影響 DMX 函數。 如需詳細資訊,請參閱<BottomPercent (MDX)>。 |