Бөлісу құралы:


TopCount (расширения интеллектуального анализа данных)

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

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

Синтаксис

  
TopCount(<table expression>, <rank expression>, <count>)  

Применяется к

Выражение, возвращающее таблицу, например ссылку> на <столбец таблицы, или функцию, возвращающую таблицу.

Тип возвращаемых данных

<табличное выражение>

Замечания

Значение, предоставленное аргументом <выражения ранжирования, определяет порядок уменьшения ранга для строк, предоставленных в <аргументе выражения таблицы>, и возвращается число строк верхнего уровня, указанных в аргументе счетчика<>.>

Функция TopCount была первоначально введена для включения ассоциативных прогнозов и в целом создает те же результаты, что и инструкция, включающая предложения SELECT TOP и ORDER BY . Вы получите более высокую производительность для ассоциативных прогнозов, если вы используете функцию Predict (DMX), которая поддерживает спецификацию ряда прогнозов для возврата.

Однако существуют ситуации, когда может потребоваться использовать TopCount. Например, DMX не поддерживает квалификатор TOP в инструкции sub-select. Функция PredictHistogram (DMX) также не поддерживает добавление TOP.

Примеры

В следующих примерах приведены прогнозирующие запросы к модели ассоциации, созданной с помощью учебника по интеллектуальному анализу данных уровня "Базовый". Запросы возвращают те же результаты, но первый пример использует TopCount, а второй пример использует функцию Predict.

Чтобы понять, как работает TopCount, может быть полезно сначала выполнить прогнозирующий запрос, возвращающий только вложенную таблицу.

SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 10)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

Примечание.

В этом примере значение, заданное в качестве входных данных, содержит знак одинарной кавычки, а значит, его нужно экранировать и добавить перед ним еще один знак кавычки. При отсутствии уверенности в синтаксических конструкциях, используемых для вставки escape-символа, запросы можно создавать с помощью построителя прогнозирующих запросов. При выборе значения из раскрывающегося списка необходимый escape-символ вставляется автоматически. Дополнительные сведения см. в разделе "Создание однотонного запроса" в конструкторе интеллектуального анализа данных.

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

Модель $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.291283016 0.252695851
Фляга для воды 2866 0.192620472 0.175205052
Ремонтный комплект 2113 0.142012232 0.132389356
Камера для горного велосипеда 1992 0.133879965 0.125304948
Mountain-200 1755 0.117951475 0.111260823
Камера для шоссейного велосипеда 1588 0.106727603 0.101229538
Велосипедная шапочка 1473 0.098998589 0.094256014
Набор крыльев для велосипеда Mountain 1415 0.095100477 0.090718432
Mountain Bottle Cage 1367 0.091874454 0.087780332
Дорожный держатель для бутылки 1195 0.080314537 0.077173962

Функция TopCount принимает результаты этого запроса и возвращает указанное число наименьших строк.

SELECT   
TopCount  
    (  
    Predict ([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),  
    $SUPPORT,  
    3)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
(SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

Первым аргументом функции TopCount является имя столбца таблицы. В этом примере вложенная таблица возвращается путем вызова функции Predict и использования аргумента INCLUDE_STATISTICS.

Второй аргумент функции TopCount — это столбец в вложенной таблице, используемой для упорядочивания результатов. В этом примере параметр INCLUDE_STATISTICS возвращает столбцы $SUPPORT, $PROBABILTY и $ADJUSTED PROBABILITY. В данном примере используется столбец $SUPPORT для ранжирования результатов.

Третий аргумент функции TopCount указывает количество возвращаемых строк в виде целого числа. Чтобы получить три верхних продукта, упорядоченных по столбцу $SUPPORT, введите 3.

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

Модель $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.29... 0.25...
Фляга для воды 2866 0.19... 0.17...
Ремонтный комплект 2113 0.14... 0.13...

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

Следующий пример демонстрирует альтернативную инструкцию, которая возвращает тот же результат, но выполняется значительно быстрее. Этот пример заменяет TopCount функцией Predict, которая принимает ряд прогнозов в качестве аргумента. В этом примере также используется ключевое слово $SUPPORT для непосредственного получения столбца вложенной таблицы.

SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)  

Результаты содержат первые 3 прогноза, отсортированные по значению поддержки. Можно заменить $SUPPORT на $PROBABILITY или $ADJUSTED_PROBABILITY, чтобы получить прогнозы, ранжированные по вероятности или скорректированной вероятности. Дополнительные сведения см. в разделе "Прогнозирование(DMX)".

См. также

Функции (расширение интеллектуального анализа данных)
Общие функции прогнозирования (расширение интеллектуального анализа данных)
BottomCount (DMX)
TopPercent (DMX)
TopSum (DMX)