Поделиться через


SELECT DISTINCT FROM <модель > (расширения интеллектуального анализа данных)

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

Синтаксис

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

Аргументы

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

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

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

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

  • expression
    (необязательный аргумент). Выражение, возвращающее скалярное значение.

Замечания

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

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

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

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

Тип столбца

Вывод

Дискретный

Уникальные значения в столбце.

Дискретный

Средняя точка каждого дискретного сегмента памяти в столбце.

Непрерывный

Средняя точка для значений столбца.

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

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

SELECT DISTINCT [Gender]
FROM [TM Decision Tree]

Образец результатов:

Gender

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 с Continuous на Discretized.

ПримечаниеПримечание

Можно также изменить модель интеллектуального анализа данных, созданную в учебнике по основам интеллектуального анализа данных, чтобы дискретизировать столбец структуры интеллектуального анализа данных, [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

170000

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

Количество десятичных разрядов в результатах зависит от клиента, использованного для выполнения запроса. Здесь они были округлены до двух десятичных разрядов, с одной стороны — для простоты, а с другой — чтобы отразить значения, показанные в среде Business Intelligence Development Studio.

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

Age >=69 AND Yearly Income < 39 221,41

ПримечаниеПримечание

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