SELECT DISTINCT FROM <Model > (DMX)

Область применения: SQL Server Analysis Services

Возвращает все возможные состояния выбранного столбца модели. Возвращаемые значения зависят от того, какие значения содержит указанный столбец — дискретные, дискретизированные числовые или непрерывные числовые значения.

Синтаксис

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

Аргументы

n
Необязательно. Целое число, указывающее количество возвращаемых строк.

Список выражений
Список связанных идентификаторов столбцов (производных от модели) или выражений.

model
Идентификатор модели.

Список условий
Условие ограничения значений, возвращаемых из списка столбцов.

выражение
Необязательно. Выражение, возвращающее скалярное значение.

Замечания

Инструкция SELECT DISTINCT FROM работает только с одним столбцом или набором связанных столбцов. С набором несвязанных столбцов это предложение не работает.

Инструкция SELECT DISTINCT FROM позволяет напрямую ссылаться на столбец внутри вложенной таблицы. Например:

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

Результаты инструкции SELECT DISTINCT FROM <модели> зависят от типа столбца. В следующей таблице описаны поддерживаемые типы столбцов и выводимые инструкцией данные.

Тип столбца Выходные данные
Discrete Уникальные значения в столбце.
Дискретизированный Средняя точка каждого дискретного сегмента памяти в столбце.
Непрерывные Средняя точка для значений столбца.

Пример дискретного столбца

Следующий пример кода основан на модели, создаваемой [TM Decision Tree] в учебнике по интеллектуальному анализу данных уровня "Базовый". Запрос возвращает уникальные значения, существующие в дискретном столбце Gender.

SELECT DISTINCT [Gender]  
FROM [TM Decision Tree]  

Пример результатов:

Пол
F
M

Для столбцов, содержащих дискретные значения, результаты всегда включают недостающее состояние, показанное как значение NULL.

Пример непрерывного столбца

Следующий образец кода возвращает средний, минимальный и максимальный возраст для всех значений столбца.

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

Пример результатов:

Midpoint Age Minimum Age Maximum Age
62 26 97

Кроме того, запрос возвращает одну строку значений NULL, которая представляет отсутствующие значения.

Пример дискретизированного столбца

В следующем примере кода возвращается средняя, максимальная и минимальная значения для каждого контейнера, созданного алгоритмом для столбца [Yearly Income]. Чтобы воспроизвести результаты этого примера, потребуется создать новую структуру интеллектуального анализа данных, аналогичную [Targeted Mailing]. В мастере измените тип контента столбца Yearly Income с непрерывным на дискретизованный.

Заметка

Вы также можете изменить модель интеллектуального анализа данных, созданную в учебнике по интеллектуальному анализу, чтобы дискретизировать столбец структуры интеллектуального анализа данных. [Yearly Income] Дополнительные сведения о том, как это сделать, см. в разделе "Изменение дискретизации столбца в модели интеллектуального анализа данных". Однако изменение дискретизации столбца повлечет за собой повторную обработку структуры интеллектуального анализа данных; в итоге изменятся результаты других моделей, построенных с использованием этой структуры.

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

Пример результатов:

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 170 000

Можно увидеть, что значения столбца [Yearly Income] были дискретизированы в пять сегментов, а также дополнительную строку значений NULL для представления отсутствующих значений.

Количество десятичных разрядов в результатах зависит от клиента, использованного для выполнения запроса. Здесь они округляются до двух десятичных разрядов, как для простоты, так и для отражения значений, отображаемых в SQL Server Data Tools (SSDT).

К примеру, если при просмотре модели с помощью средства просмотра дерева решений щелкнуть узел, содержащий сгруппированных по показателю дохода клиентов, во всплывающей подсказке отобразятся следующие свойства узла:

Возраст >=69 И годовой доход < 39221.41

Заметка

Минимальное значение минимального сегмента и максимальное значение максимального сегмента представляют собой самое высокое и самое низкое наблюдаемое значение. Предполагается, что все значения, остающиеся за пределами этого наблюдаемого диапазона, принадлежат минимальному и максимальному сегментам.

См. также

SELECT (DMX)
Инструкции по обработке данных расширения интеллектуального анализа данных (DMX)
Справочник по расширениям интеллектуального анализа данных (DMX)