TopSum (DMX)
Gibt in absteigender Rangreihenfolge die obersten Zeilen einer Tabelle zurück, deren kumulativer Gesamtwert mindestens so groß wie ein angegebener Wert ist.
Syntax
TopSum(<table expression>, <rank expression>, <sum>)
Betrifft
Ein Ausdruck, der eine Tabelle zurückgibt, z. B. ein Verweis auf eine Tabellenspalte (<table column reference>), oder eine Funktion, die eine Tabelle zurückgibt.
Rückgabetyp
<table expression>
Hinweise
Die TopSum-Funktion gibt in absteigender Rangreihenfolge entsprechend dem für jede Zeile ermittelten Wert des <rank expression>-Arguments die obersten Zeilen zurück, wobei die Summe der <rank expression>-Werte mindestens so groß wie der Gesamtwert sein muss, der im <sum>-Argument angegeben ist. TopSum gibt die kleinste mögliche Anzahl von Elementen zurück, mit denen der angegebene Summenwert erreicht wird.
Beispiele
Im folgenden Beispiel wird eine Vorhersageabfrage für das Zuordnungsmodell erstellt, das Sie mithilfe des Lernprogramm zu Data Mining-Grundlagen erstellt haben.
Für eine erste Einführung in die Funktionsweise von TopSum ist es möglicherweise hilfreich, zunächst eine Vorhersageabfrage auszuführen, die lediglich die geschachtelte Tabelle zurückgibt.
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
Hinweis |
---|
In diesem Beispiel enthält der als Eingabe bereitgestellte Wert ein einzelnes Anführungszeichen und muss daher mit Escapezeichen versehen werden, indem ihm ein weiteres einzelnes Anführungszeichen vorangestellt wird. Wenn Sie über die Syntax zum Einfügen von Escapezeichen nicht sicher sind, können Sie den Generator für Vorhersageabfragen verwenden, um die Abfrage zu erstellen. Wenn Sie den Wert aus der Dropdownliste auswählen, wird das erforderliche Escapezeichen automatisch eingefügt. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer SINGLETON-Abfrage im Data Mining-Designer. |
Beispielergebnisse:
Model |
$SUPPORT |
$PROBABILITY |
$ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 |
4334 |
0.291283016 |
0.252695851 |
Water Bottle |
2866 |
0.192620472 |
0.175205052 |
Patchkit |
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 |
Fahrradkappe |
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 |
Die TopSum-Funktion verwendet die Ergebnisse dieser Abfrage und gibt die Zeilen mit den größten Werten zurück, die die angegebene Anzahl ergeben.
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
Das erste Argument für die TopSum-Funktion ist der Name einer Tabellenspalte. In diesem Beispiel wird die geschachtelte Tabelle zurückgegeben, indem die Predict-Funktion aufgerufen und das INCLUDE_STATISTICS-Argument verwendet wird.
Das zweite Argument für die TopSum-Funktion ist die Spalte in der geschachtelten Tabelle, die Sie zum Sortieren der Ergebnisse verwenden. In diesem Beispiel gibt die INCLUDE_STATISTICS-Option die Spalten $SUPPORT, $PROBABILTY und $ADJUSTED PROBABILITY zurück. In diesem Beispiel wird $PROBABILITY zum Zurückgeben von Zeilen verwendet, die mindestens eine Wahrscheinlichkeit von 50 % ergeben.
Das dritte Argument für die TopSum-Funktion gibt die Zielsumme als double-Wert an. Geben Sie .5 ein, um die Zeilen für die obersten Produkte zu erhalten, die 50 Prozent Wahrscheinlichkeit ergeben.
Beispielergebnisse:
Modell |
$SUPPORT |
$PROBABILITY |
$ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 |
4334 |
0.29… |
0.25… |
Water Bottle |
2866 |
0.19… |
0.17… |
Patch kit |
2113 |
0.14… |
0.13… |
Hinweis |
---|
Dieses Beispiel wird nur bereitgestellt, um die Verwendung von [TopSum] zu veranschaulichen. Je nach Größe des Datasets kann die Ausführung dieser Abfrage einige Zeit in Anspruch nehmen. |