TopPercent (DMX)
TopPercent 関数は、累積合計が指定された割合以上になるテーブルの最上位列をランクの減少順 (降順) に返します。
構文
TopPercent(<table expression>, <rank expression>, <percent>)
適用対象
<table column reference> などのテーブルを返す式、またはテーブルを返す関数です。
戻り値の型
<table expression>
説明
TopPercent 関数は、<rank expression> 値の合計が <percent> 引数によって指定された割合以上になるように、各行の <rank expression> 引数の結果値に基づいてランクの減少順に最上位の行を返します。TopPercent は、指定された割合の値に一致するまで、可能性のある最も小さい要素数を返します。
例
次の例では、「基本的なデータ マイニング チュートリアル」を使用して作成した Association モデルに対する予測クエリを作成します。
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
注 |
---|
この例では、入力値として指定された値には単一引用符が含まれているため、この単一引用符の前にもう 1 つ単一引用符に追加してエスケープする必要があります。エスケープ文字を挿入するための構文がわからない場合は、予測クエリ ビルダを使用してクエリを作成できます。ドロップダウン リストから値を選択すると、必要なエスケープ文字が挿入されます。詳細については、「データ マイニング デザイナで単一クエリを作成する方法」を参照してください。 |
例の結果を次に示します。
Model |
$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 関数の 2 番目の引数は、結果の並べ替えに使用する、入れ子になったテーブルの列です。この例では、INCLUDE_STATISTICS オプションによって $SUPPORT 列、$PROBABILTY 列、および $ADJUSTED PROBABILITY 列が返されます。この例では、$SUPPORT を使用しています。サポート値は小数ではないため、検証しやすいからです。
TopPercent 関数の 3 番目の引数は、比率を倍精度浮動小数点数として指定します。合計が合計サポートの 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 の使用方法を示すことだけを目的としています。データセットのサイズに応じて、このクエリの実行には長い時間がかかる場合があります。