Share via


TopSum (DMX)

適用: SQL Server Analysis Services

累積合計が指定された値以上になるテーブルの最上位行を、ランクの減少順 (降順) に返します。

構文

  
TopSum(<table expression>, <rank expression>, <sum>)  

適用対象

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

戻り値の型

<テーブル式>

注釈

TopSum 関数は、各行の rank 式>引数の評価値に基づいてランクの上位の<行を降順で返します。これにより、ランク式>の値の<合計が、sum> 引数で<指定された合計以上になります。 TopSum は 、指定された合計値を満たしながら、可能な最小の要素数を返します。

次の例では、 基本的なデータ マイニング チュートリアルを使用して構築したアソシエーション モデルに対して予測クエリを作成します。

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

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 関数の 2 番目の引数は、結果の並べ替えに使用する入れ子になったテーブルの列です。 この例では、INCLUDE_STATISTICS オプションは、$SUPPORT列、$PROBABILTY列、および $ADJUSTED PROBABILITY 列を返します。 この例では、$PROBABILITYを使用して、少なくとも 50% の確率に合計する行を返します。

TopSum 関数の 3 番目の引数は、対象の合計を double として指定します。 確率が 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 の使用方法を示すためにのみ提供されます。 データ セットのサイズによっては、このクエリの実行に時間がかかる場合があります。

参照

関数 (DMX)
一般的な予測関数 (DMX)
TopPercent (DMX)