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
注意注意

在本示例中,作为输入而提供的值包含一个单引号;因此,必须通过在该值前面加一个单引号来进行转义。如果不熟悉有关插入转义符的语法,则您可以使用预测查询生成器创建查询。从下拉列表中选择值时,会为您插入所需的转义符。有关详细信息,请参阅如何在数据挖掘设计器中创建单独查询

示例结果:

Model

$SUPPORT

$PROBABILITY

$ADJUSTEDPROBABILITY

Sport-100

4334

0.291283016

0.252695851

Water Bottle

2866

0.192620472

0.175205052

Patch kit

2113

0.142012232

0.132389356

Mountain Tire Tube

1992

0.133879965

0.125304948

Mountain-200

1755

0.117951475

0.111260823

Road Tire Tube

1588

0.106727603

0.101229538

Cycling Cap

1473

0.098998589

0.094256014

Fender Set - Mountain

1415

0.095100477

0.090718432

Mountain Bottle Cage

1367

0.091874454

0.087780332

Road Bottle Cage

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。

示例结果:

Model

$SUPPORT

$PROBABILITY

$ADJUSTEDPROBABILITY

Sport-100

4334

0.29…

0.25…

Water Bottle

2866

0.19…

0.17…

Patch kit

2113

0.14…

0.13…

Mountain Tire Tube

1992

0.133…

0.12…

注意 提供本示例的目的仅在于说明 TopPercent 的用法。运行此查询可能需要很长时间,具体取决于数据集的大小。