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


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

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

Синтаксис

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

Область применения

Выражение, возвращающее таблицу (например, <table column reference>), или функция, возвращающая таблицу.

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

<table expression>

Замечания

Функция TopPercent возвращает верхние строки в порядке убывания ранга на основе вычисляемого значения аргумента <rank expression> для каждой строки так, чтобы сумма значений <rank expression> была равна проценту, заданному аргументом <percent>, или превышала его. Функция 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

Камера шины для велосипеда Mountain

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

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 указывает долю в процентах и имеет тип double. Чтобы получить строки для верхних продуктов, стоимость которых составляет 50 процентов от общей поддержки, необходимо ввести 50.

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

Модель

$SUPPORT

$PROBABILITY

$ADJUSTEDPROBABILITY

Sport-100

4334

0.29…

0.25…

Фляга для воды

2866

0.19…

0.17…

Ремонтный комплект

2113

0.14…

0.13…

Камера шины для велосипеда Mountain

1992

0.133…

0.12…

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

ПредупреждениеВнимание!

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

См. также

Справочник

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

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

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