TopPercent (DMX)

Gilt für: SQL Server Analysis Services

Die TopPercent-Funktion gibt in der Reihenfolge des abnehmenden Rangs die obersten Zeilen einer Tabelle zurück, deren kumulative Gesamtsumme mindestens einen angegebenen Prozentsatz beträgt.

Syntax

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

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>

Bemerkungen

Die TopPercent-Funktion gibt die obersten Zeilen in abnehmender Rangfolge basierend auf dem ausgewerteten Wert des <Arguments "Rangausdruck> " für jede Zeile zurück, sodass die Summe der <Werte des Rangausdrucks> mindestens dem angegebenen Prozentsatz entspricht, der durch das <Prozentargument> angegeben wird. TopPercent gibt die möglichst geringe Anzahl von Elementen zurück, während der angegebene Prozentwert trotzdem erfüllt wird.

Beispiele

Im folgenden Beispiel wird eine Vorhersageabfrage für das Zuordnungsmodell erstellt, das Sie mithilfe des Data Mining Basic Tutorial erstellen.

Um zu verstehen, wie TopPercent 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:

Modellieren $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 TopPercent-Funktion übernimmt die Ergebnisse dieser Abfrage und gibt die Zeilen mit den größten Werten zurück, die sich auf den angegebenen Prozentsatz summieren.

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  

Das erste Argument für die TopPercent-Funktion ist der Name einer Tabellenspalte. In diesem Beispiel wird die geschachtelte Tabelle zurückgegeben, indem die Predict-Funktion aufgerufen und das Argument INCLUDE_STATISTICS verwendet wird.

Das zweite Argument für die TopPercent-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 $SUPPORT verwendet, da diese Werte keine Bruchteile besitzen und daher leichter zu überprüfen sind.

Das dritte Argument für die TopPercent-Funktion gibt den Prozentsatz als Double an. Geben Sie 50 ein, um die Zeilen für die obersten Produkte zu erhalten, die 50 Prozent der Gesamtunterstützung ergeben.

Beispielergebnisse:

Modellieren $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.29... 0.25...
Water Bottle 2866 0.19... 0.17...
Patchkit 2113 0.14... 0.13...
Mountain Tire Tube 1992 0.133... 0.12...

Hinweis Dieses Beispiel dient nur zur Veranschaulichung der Verwendung von TopPercent. Je nach Größe des Datasets kann die Ausführung dieser Abfrage lange dauern.

Warnung

Die MDX-Funktionen für TOPPERCENT und BOTTOMPERCENT können unerwartete Ergebnisse generieren, wenn die Werte zur Berechnung des Prozentsatzes negative Zahlen enthalten. Dieses Verhalten wirkt sich nicht auf die DMX-Funktionen aus. Weitere Informationen finden Sie unter BottomPercent (MDX).

Weitere Informationen

Data Mining-Erweiterungen (DMX) - Funktionsreferenz
Funktionen (DMX)
Allgemeine Vorhersagefunktionen (DMX)