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


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

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

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

Синтаксис

  
TopSum(<table expression>, <rank expression>, <sum>)  

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

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

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

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

Замечания

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

Примеры

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

Чтобы понять, как работает 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

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

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

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

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

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

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

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

Примечание. Этот пример предоставляется только для иллюстрации использования TopSum. В зависимости от размера набора данных выполнение данного запроса может занять значительное время.

См. также

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