SELECT DISTINCT FROM <model > (DMX)

Gilt für: SQL Server Analysis Services

Gibt alle möglichen Status für die ausgewählte Spalte im Modell zurück. Die zurückgegebenen Werte variieren, je nachdem, ob die angegebene Spalte diskrete Werte, diskretisierte numerische Werte oder fortlaufende numerische Werte enthält.

Syntax

SELECT [FLATTENED] DISTINCT [TOP <n>] <expression list> FROM <model>   
[WHERE <condition list>][ORDER BY <expression>]  

Argumente

n
Optional. Eine ganze Zahl, die angibt, wie viele Zeilen zurückgegeben werden sollen.

Ausdrucksliste
Eine durch Trennzeichen getrennte Liste mit Bezeichnern verbundener Spalten (abgeleitet aus dem Modell) oder mit Ausdrücken.

model
Ein Modellbezeichner.

Bedingungsliste
Eine Bedingung, die die Werte einschränkt, die für die Spaltenliste zurückgegeben werden.

expression
Optional. Ein Ausdruck, der einen Skalarwert zurückgibt.

Bemerkungen

Die SELECT DISTINCT FROM-Anweisung funktioniert nur mit einer einzelnen Spalte oder mit einem Satz verwandter Spalten. Für eine Gruppe nicht verbundener Spalten kann diese Klausel nicht verwendet werden.

Mit der SELECT DISTINCT FROM-Anweisung können Sie direkt auf eine Spalte innerhalb einer geschachtelten Tabelle verweisen. Beispiel:

<model>.<table column reference>.<column reference>  

Die Ergebnisse der SELECT DISTINCT FROM-Modellanweisungen <> variieren je nach Spaltentyp. In der folgenden Tabelle sind die unterstützten Spaltentypen sowie die Ausgabe beschrieben, die von der Anweisung erstellt wird.

Spaltentyp Ausgabe
Discrete Die eindeutigen Werte in der Spalte.
Discretized Der Mittelpunkt für jeden diskretisierten Bucket in der Spalte.
Fortlaufend Der Mittelpunkt für die Werte in der Spalte.

Beispiel zu einer diskreten Spalte

Das folgende Codebeispiel basiert auf dem [TM Decision Tree] Modell, das Sie im Data Mining Basic-Tutorial erstellen. Die Abfrage gibt die eindeutigen Werte zurück, die in der diskreten Spalte Gender vorhanden sind.

SELECT DISTINCT [Gender]  
FROM [TM Decision Tree]  

Beispielergebnisse:

Geschlecht
F
M

In Spalten, die diskrete Werte enthalten, enthalten die Ergebnisse auch immer den fehlenden Status, der als Nullwert angezeigt wird.

Beispiel für eine kontinuierliche Spalte

Im folgenden Codebeispiel wird das Mittelpunktalter, minimale und maximale Alter für alle Werte in der Spalte zurückgegeben.

SELECT DISTINCT [Age] AS [Midpoint Age],   
    RangeMin([Age]) AS [Minimum Age],   
    RangeMax([Age]) AS [Maximum Age]  
FROM [TM Decision Tree]  

Beispielergebnisse:

Mittelpunktalter Mindestalter Maximales Alter
62 26 97

Die Abfrage gibt auch eine einzelne Zeile mit Nullwerten zurück, um die fehlenden Werte darzustellen.

Beispiel zu einer diskretisierten Spalte

Im folgenden Codebeispiel werden die Werte für Den Mittelpunkt, maximum und minimum für jeden Bucket zurückgegeben, der vom Algorithmus für die Spalte [Yearly Income]erstellt wurde. Um die Ergebnisse für dieses Beispiel zu reproduzieren, müssen Sie eine neue Miningstruktur erstellen, die der von [Targeted Mailing] entspricht. Ändern Sie im Assistenten den Inhaltstyp der Yearly Income Spalte von Fortlaufend in Diskretisiert.

Hinweis

Sie können auch das miningmodell ändern, das im Grundlegenden Miningtutorial erstellt wurde, [Yearly Income]um die Miningstrukturspalte zu diskretisieren. Informationen dazu finden Sie unter Ändern der Diskretisierung einer Spalte in einem Miningmodell. Wenn Sie jedoch die Diskretisierung der Spalte ändern, wird die Miningstruktur neu verarbeitet, wodurch die Ergebnisse anderer Modelle, die mithilfe dieser Struktur erstellt wurden, geändert werden.

SELECT DISTINCT [Yearly Income] AS [Bucket Average],   
    RangeMin([Yearly Income]) AS [Bucket Minimum],   
    RangeMax([Yearly Income]) AS [Bucket Maximum]  
FROM [TM Decision Tree]  

Beispielergebnisse:

Bucketdurchschnitt Bucketminimum Bucketmaximum
24610.7 10000 39221.41
55115.73 39221.41 71010.05
84821.54 71010.05 98633.04
111633.9 98633.04 124634.7
147317.4 124634.7 170000

Sie können sehen, dass die Werte der [Yearly Income] Spalte in fünf Buckets sowie eine zusätzliche Zeile mit NULL-Werten diskretisiert wurden, um fehlende Werte darzustellen.

Die Anzahl der Dezimalstellen in den Ergebnissen ist von dem für die Abfrage verwendeten Client abhängig. Hier wurden sie auf zwei Dezimalstellen gerundet, sowohl aus Gründen der Einfachheit als auch, um die Werte widerzuspiegeln, die in SQL Server Data Tools (SSDT) angezeigt werden.

Wenn Sie das Modell beispielsweise mithilfe des Entscheidungsstruktur-Viewers durchsuchen und auf einen Knoten klicken, der Kunden gruppiert nach Einkommen enthält, werden in der Quickinfo folgende Knoteneigenschaften angezeigt:

Alter >=69 UND Jahreseinkommen < 39221.41

Hinweis

Der Minimalwert des Minimalbuckets und der Maximalwert des Maximalbuckets sind lediglich die höchsten und niedrigsten ermittelten Werte. Von allen Werten, die außerhalb dieses ermittelten Bereichs liegen, wird angenommen, dass sie zu den Minimal- und Maximalbuckets gehören.

Weitere Informationen

SELECT (DMX)
Data Mining-Erweiterungen (DMX) - Datenbearbeitungsanweisungen
Data Mining-Erweiterungen (DMX) - Anweisungsreferenz