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


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

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

Функция TopPercent возвращает, в порядке уменьшения ранга, самые верхние строки таблицы, совокупная сумма которой составляет по крайней мере указанный процент.

Синтаксис

  
TopPercent(<table expression>, <rank expression>, <percent>)  

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

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

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

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

Замечания

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

Примеры

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

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

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

Функция TopPercent принимает результаты этого запроса и возвращает строки с наибольшими значениями, которые суммируются в указанный процент.

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

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

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

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

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

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

Обратите внимание , что этот пример предоставляется только для иллюстрации использования TopPercent. В зависимости от размера набора данных выполнение данного запроса может занять значительное время.

Предупреждение

Функции многомерных выражений для TOPPERCENT и BOTTOMPERCENT могут давать непредвиденные результаты, если значения, используемые для вычисления процентов, содержат отрицательные числа. Это не влияет на функции расширений интеллектуального анализа данных. Дополнительные сведения см. в разделе BottomPercent (многомерные выражения).

См. также

Справочник по функциям расширений интеллектуального анализа данных
Функции (расширение интеллектуального анализа данных)
Общие функции прогнозирования (расширение интеллектуального анализа данных)