Condividi tramite


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.