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 の使用方法を示すためにのみ提供されます。 データ セットのサイズによっては、このクエリの実行に時間がかかる場合があります。
参照
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示