SELECT DISTINCT FROM <model > (DMX)
Restituisce tutti gli stati possibili della colonna selezionata nel modello. I valori restituiti variano a seconda che la colonna specificata contenga valori discreti, valori numerici discretizzati o valori numerici continui.
Sintassi
SELECT [FLATTENED] DISTINCT [TOP <n>] <expression list> FROM <model>
[WHERE <condition list>][ORDER BY <expression>]
Argomenti
n
Facoltativo. Valore integer che specifica il numero di righe da restituire.expression list
Elenco delimitato da virgole contenente espressioni o identificatori di colonne correlate (derivati dal modello).model
Identificatore del modello.condition list
Condizione per limitare i valori restituiti dall'elenco di colonne.expression
Facoltativo. Espressione che restituisce un valore scalare.
Osservazioni
L'istruzione SELECT DISTINCT FROM può essere utilizzata solo con una colonna singola o con un set di colonne correlate. Non è possibile utilizzare questa clausola con un set di colonne non correlate.
L'istruzione SELECT DISTINCT FROM consente di fare riferimento direttamente a una colonna specifica in una tabella nidificata. Ad esempio:
<model>.<table column reference>.<column reference>
Il risultato dell'istruzione SELECT DISTINCT FROM <model> varia a seconda del tipo di colonna. Nella tabella seguente sono descritti i tipi di colonna supportati e l'output dell'istruzione.
Tipo di colonna |
Output |
---|---|
Discreta |
Valori univoci nella colonna. |
Discretizzata |
Punto medio di ogni bucket discretizzato nella colonna. |
Continua |
Punto medio dei valori nella colonna. |
Esempio con una colonna discreta
L'esempio di codice seguente è basato sul modello [TM Decision Tree] creato nell'Esercitazione di base sul data mining. La query restituisce i valori univoci presenti nella colonna discreta Gender.
SELECT DISTINCT [Gender]
FROM [TM Decision Tree]
Risultati dell'esempio:
Gender |
---|
|
F |
M |
Per le colonne che contengono valori discreti, i risultati includono sempre lo stato Missing, mostrato come valore null.
Esempio con una colonna continua
L'esempio di codice seguente restituisce il punto medio e l'età massima e minima per tutti i valori nella colonna.
SELECT DISTINCT [Age] AS [Midpoint Age],
RangeMin([Age]) AS [Minimum Age],
RangeMax([Age]) AS [Maximum Age]
FROM [TM Decision Tree]
Risultati dell'esempio:
Midpoint Age |
Minimum Age |
Maximum Age |
---|---|---|
|
|
|
62 |
26 |
97 |
La query restituisce inoltre una singola riga di valori null per rappresentare valori mancanti.
Esempio con una colonna discretizzata
L'esempio di codice seguente restituisce i valori medio, massimo e minimo per ogni bucket creato dall'algoritmo per la colonna [Yearly Income]. Per riprodurre i risultati per questo esempio è necessario creare una nuova struttura di data mining che corrisponde a [Targeted Mailing]. Nella procedura guidata modificare il tipo di contenuto della colonna Yearly Income da Continuous in Discretized.
Nota
È inoltre possibile modificare anche il modello di data mining creato nell'esercitazione di base sul data mining per discretizzare la colonna della struttura di data mining [Yearly Income]. Per informazioni su come eseguire questa operazione, vedere Procedura: Modifica della discretizzazione di una colonna in un modello di data mining. Tuttavia, quando si modifica la discretizzazione della colonna, viene forzata la rielaborazione della struttura di data mining modificando i risultati degli altri modelli creati utilizzando tale struttura.
SELECT DISTINCT [Yearly Income] AS [Bucket Average],
RangeMin([Yearly Income]) AS [Bucket Minimum],
RangeMax([Yearly Income]) AS [Bucket Maximum]
FROM [TM Decision Tree]
Risultati dell'esempio:
Bucket Average |
Bucket Minimum |
Bucket Maximum |
---|---|---|
|
|
|
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 |
È possibile notare che i valori della colonna [Yearly Income] sono stati discretizzati in cinque bucket, più una riga aggiuntiva di valori null per rappresentare i valori mancanti.
Il numero di posizioni decimali nei risultati dipende dal client utilizzato per l'esecuzione delle query. Nell'esempio i risultati sono stati arrotondati a due posizioni decimali, sia per semplicità che per riflettere i valori visualizzati in Business Intelligence Development Studio.
Ad esempio, se si esplora il modello mediante il visualizzatore Microsoft Decision Trees e si seleziona un nodo contenente i clienti raggruppati in base al reddito, nella descrizione comandi vengono visualizzate le seguenti proprietà del nodo:
Age >=69 AND Yearly Income < 39221.41
Nota
Il valore minimo del bucket minimo e il valore massimo del bucket massimo rappresentano i valori minimo e massimo osservati. Tutti i valori che non rientrano in questo intervallo osservato vengono considerati appartenenti ai bucket minimo e massimo.