TopCount (DMX)
Gilt für: SQL Server Analysis Services
Gibt die durch einen Ausdruck angegebene Anzahl von obersten Zeilen in absteigender Rangreihenfolge zurück.
Syntax
TopCount(<table expression>, <rank expression>, <count>)
Gilt für
Ein Ausdruck, der eine Tabelle zurückgibt, z. B. einen <Tabellenspaltenverweis> oder eine Funktion, die eine Tabelle zurückgibt.
Rückgabetyp
<Tabellenausdruck>
Hinweise
Der vom <Argument "Rangausdruck> " angegebene Wert bestimmt die abnehmende Rangreihenfolge für die Zeilen, die im <Argument "Tabellenausdruck> " angegeben werden, und die Anzahl der obersten Zeilen, die <im Argument "Anzahl"> angegeben sind, wird zurückgegeben.
Die TopCount-Funktion wurde ursprünglich eingeführt, um assoziative Vorhersagen zu aktivieren und im Allgemeinen die gleichen Ergebnisse wie eine Anweisung zu erzeugen, die SELECT TOP- und ORDER BY-Klauseln enthält. Sie erhalten eine bessere Leistung für assoziative Vorhersagen, wenn Sie die Funktion Vorhersage (SHAPE) verwenden, die die Spezifikation einer Reihe von zurückzugebenden Vorhersagen unterstützt.
Es gibt jedoch Situationen, in denen Sie möglicherweise noch TopCount verwenden müssen. SO unterstützt BEISPIELSWEISE NICHT DER TOP-Qualifizierer in einer Unterauswahl-Anweisung. Die Funktion PredictHistogram (SHAPE) unterstützt auch nicht das Hinzufügen von TOP.
Beispiele
Die folgenden Beispiele sind Vorhersageabfragen für das Zuordnungsmodell, das Sie mithilfe des Einfachen Data Mining-Lernprogramms erstellen. Die Abfragen geben dieselben Ergebnisse zurück, aber im ersten Beispiel wird TopCount verwendet, und im zweiten Beispiel wird die Vorhersage-Funktion verwendet.
Um zu verstehen, wie TopCount funktioniert, kann es hilfreich sein, zuerst eine Vorhersageabfrage auszuführen, die nur 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 Erstellen einer Singleton-Abfrage im Data Mining-Designer.
Beispielergebnisse:
Modell | $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 |
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 |
Die TopCount-Funktion verwendet die Ergebnisse dieser Abfrage und gibt die angegebene Anzahl der kleinsten Zeilen zurück.
SELECT
TopCount
(
Predict ([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),
$SUPPORT,
3)
FROM
[Association]
NATURAL PREDICTION JOIN
(SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t
Das erste Argument der TopCount-Funktion ist der Name einer Tabellenspalte. In diesem Beispiel wird die geschachtelte Tabelle zurückgegeben, indem die Vorhersage-Funktion aufgerufen und das argument INCLUDE_STATISTICS verwendet wird.
Das zweite Argument der TopCount-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 werden die Ergebnisse mithilfe von $SUPPORT sortiert.
Das dritte Argument der TopCount-Funktion gibt die Anzahl der zurückzugebenden Zeilen als ganze Zahl an. Für die obersten drei Produkte, sortiert nach $ SUPPORT, geben Sie 3 ein.
Beispielergebnisse:
Modell | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 | 4334 | 0.29... | 0.25... |
Water Bottle | 2866 | 0.19... | 0.17... |
Patchkit | 2113 | 0.14... | 0.13... |
Dieser Abfragetyp kann jedoch die Leistung in einer Produktionseinstellung beeinträchtigen. Das liegt daran, dass die Abfrage einen Satz aller Vorhersagen für den Algorithmus zurückgibt, diese Vorhersagen sortiert und die obersten 3 Vorhersagen zurückgibt.
Das folgende Beispiel enthält eine alternative Anweisung, die die gleichen Ergebnisse zurückgibt, aber bedeutend schneller ausgeführt wird. In diesem Beispiel wird "TopCount" durch die Funktion "Vorhersagen" ersetzt, die eine Reihe von Vorhersagen als Argument akzeptiert. In diesem Beispiel wird auch das schlüsselwort $SUPPORT verwendet, um die geschachtelte Tabellenspalte direkt abzurufen.
SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)
Die Ergebnisse enthalten die obersten 3 Vorhersagen sortiert nach dem Unterstützungswert. Sie können $SUPPORT durch $PROBABILITY oder $ADJUSTED_PROBABILITY ersetzen, um nach Wahrscheinlichkeit oder angepasster Wahrscheinlichkeit sortierte Vorhersagen zurückzugeben. Weitere Informationen finden Sie unter Predict (UNIVERSE).
Weitere Informationen
Functions (DMX) (Funktionen (DMX))
General Prediction Functions (DMX) (Allgemeine Vorhersagefunktionen (DMX))
BottomCount (BOTTOMCount)
TopPercent (UNIVERSE)
TopSum (UNIVERSE)