SELECT DISTINCT FROM <model > (DMX)

platí pro: Analytické služby SQL Serveru

Vrací všechny možné stavy pro vybraný sloupec v modelu. Vrácené hodnoty se liší podle toho, zda zadaný sloupec obsahuje diskrétní hodnoty, diskretizované číselné hodnoty nebo spojité číselné hodnoty.

Syntax

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

Arguments

n
Optional. Celé číslo určující, kolik řádků vrátit.

Seznam výrazů
Seznam souvisejících identifikátorů sloupců (odvozených z modelu) nebo výrazů oddělených čárkou.

model
Identifikátor modelu.

Seznam podmínek
Podmínka omezující hodnoty vrácené ze seznamu sloupců.

expression
Optional. Výraz, který vrací skalární hodnotu.

Remarks

Příkaz SELECT DISTINCT FROM funguje pouze s jedním sloupcem nebo se sadou souvisejících sloupců. Tato klauzule nefunguje se sadou nesouvisejících sloupců.

Příkaz SELECT DISTINCT FROM umožňuje přímo odkazovat na sloupec uvnitř vnořené tabulky. Příklady:

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

Výsledky příkazu SELECT DISTINCT FROM MODEL <> se liší v závislosti na typu sloupce. Následující tabulka popisuje podporované typy sloupců a výstup z tohoto příkazu.

Typ sloupce Output
Diskrétní Unikátní hodnoty ve sloupci.
Diskretizováno Střední bod pro každý diskretizovaný kbelík ve sloupci.
Nepřetržité Střed pro hodnoty ve sloupci.

Příklad diskrétního sloupce

Následující ukázka kódu je založena na modelu[TM Decision Tree], který jste vytvořili v Základním tutoriálu dolování dat. Dotaz vrací jedinečné hodnoty, Genderkteré existují v diskrétním sloupci .

SELECT DISTINCT [Gender]  
FROM [TM Decision Tree]  

Příklady výsledků:

Pohlaví
F
M

U sloupců obsahujících diskrétní hodnoty výsledky vždy obsahují chybějící stav, zobrazený jako nulová hodnota.

Příklad s kontinuálním sloupcem

Následující vzorek kódu vrací střed, minimální věk a maximální věk pro všechny hodnoty ve sloupci.

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

Příklady výsledků:

Středověký věk Minimální věk Maximální věk
62 26 97

Dotaz také vrací jeden řádek nulových hodnot, které reprezentují chybějící hodnoty.

Příklad s diskretizovaným sloupcem

Následující ukázka kódu vrací střední, maximální a minimální hodnoty pro každý bucket, který algoritmus vytvořil pro sloupec [Yearly Income]. Pro reprodukci výsledků pro tento příklad musíte vytvořit novou těžební strukturu, která je stejná jako [Targeted Mailing]. V čarovateli změňte typ obsahu sloupce Yearly Income z Kontinuální na Diskretizované.

Note

Můžete také změnit model těžby vytvořený v Základním těžebním tutoriálu tak, aby diskretizoval sloupec těžební struktury. [Yearly Income] Informace o tom, jak to udělat, viz Změna diskretizace sloupce v těžebním modelu. Když však změníte diskretizaci sloupce, donutí se těžební struktura znovu zpracovat, což změní výsledky ostatních modelů, které jste s touto strukturou vytvořili.

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

Příklady výsledků:

Průměr bucketu Minimum v kbelíku 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

Vidíte, že hodnoty sloupce [Yearly Income] byly diskretizovány do pěti košů plus další řádek nulových hodnot, které reprezentují chybějící hodnoty.

Počet desetinných míst ve výsledcích závisí na klientovi, kterého používáte pro dotazování. Zde byly zaokrouhleny na dvě desetinná místa, a to jak pro jednoduchost, tak aby odrážely hodnoty zobrazované v SQL Server Data Tools (SSDT).

Například pokud procházíte model pomocí prohlížeče rozhodovacího stromu a kliknete na uzel, který obsahuje zákazníky seskupené podle příjmů, v nápovědě se zobrazí následující vlastnosti uzlu:

Věk >=69 A roční příjem < 39221,41

Note

Minimální hodnota minimálního koše a maximální hodnota maximálního koše jsou pouze nejvyšší a nejnižší pozorované hodnoty. Hodnoty mimo tento pozorovaný rozsah se předpokládají jako součásti minimálního a maximálního koše.