Freigeben über


TopPercent (DMX)

Die TopPercent-Funktion gibt in absteigender Rangreihenfolge die obersten Zeilen einer Tabelle zurück, deren kumulativer Gesamtwert mindestens so groß wie ein angegebener Prozentsatz ist.

Syntax

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

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 TopPercent-Funktion gibt in absteigender Rangreihenfolge entsprechend dem für jede Zeile ermittelten Wert des <rank expression>-Arguments die obersten Zeilen zurück. Dabei muss die Summe der <rank expression>-Werte mindestens so groß wie der Prozentsatz sein, der im <percent>-Argument angegeben ist. TopPercent gibt die kleinste mögliche Anzahl von Elementen zurück, mit denen der angegebene Prozentwert erreicht wird.

Beispiele

Im folgenden Beispiel wird eine Vorhersageabfrage für das Association-Modell erstellt, das Sie mithilfe des Lernprogramm zu Data Mining-Grundlagen erstellt haben.

Für eine erste Einführung in die Funktionsweise von TopPercent 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
HinweisHinweis

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 TopPercent-Funktion verwendet die Ergebnisse dieser Abfrage und gibt die Zeilen mit den größten Werten zurück, die den angegebenen Prozentsatz ergeben.

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 INCLUDE_STATISTICS-Argument 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 Unterstützungswerte keine Bruchteile besitzen und daher leichter zu überprüfen sind.

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

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…

Mountain Tire Tube

1992

0.133…

0.12…

Note   Dieses Beispiel wird nur bereitgestellt, um die Verwendung von TopPercent zu illustrieren. Je nach Größe des Datasets kann für die Ausführung dieser Abfrage eine lange Zeit in Anspruch genommen werden.