Share via


TopPercent (DMX)

適用: SQL Server Analysis Services

TopPercent 関数は、ランクを下げるために、累積合計が少なくとも指定されたパーセンテージであるテーブルの最上位行を返します。

構文

  
TopPercent(<table expression>, <rank expression>, <percent>)  

適用対象

テーブル列参照>などの<テーブルを返す式、またはテーブルを返す関数。

戻り値の型

<テーブル式>

注釈

TopPercent 関数は、各行の rank 式>引数の評価値に基づいてランクの上位の<行を降順で返します。これにより、ランク式>の値の合計が、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  

注意

この例では、入力として指定された値には単一引用符が含まれているため、別の単一引用符を付けることでエスケープする必要があります。 エスケープ文字を挿入するための構文がわからない場合は、予測クエリ ビルダーを使用してクエリを作成できます。 ドロップダウン リストから値を選択すると、必要なエスケープ文字が挿入されます。 詳細については、「データ マイニング Designerでシングルトン クエリを作成する」を参照してください。

結果の例:

モデル $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 番目の引数は、パーセンテージを double として指定します。 サポート全体の 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)」を参照してください。

参照

データ マイニング拡張機能 (DMX) 関数リファレンス
関数 (DMX)
一般的な予測関数 (DMX)