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 の使用方法を示すことだけを目的としています。データセットのサイズに応じて、このクエリの実行には長い時間がかかる場合があります。