TopSum (DMX)

适用于: SQL Server Analysis Services

以降序形式返回表中最前面的几行,这些行的累积合计至少达到了指定值。

语法

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

应用于

返回表(如表列引用>)<的表达式,或返回表的函数。

返回类型

<表表达式>

备注

TopSum 函数根据每一行的排名表达式>参数的<计算值,按排名的递减顺序返回排名最靠前的<行,以便排名表达式>值的总和至少为由 <sum> 参数指定的给定总计。 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  

注意

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

示例结果:

建模 $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

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% 的最前面的产品行,请键入 .5。

示例结果:

建模 $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.29... 0.25...
Water Bottle 2866 0.19... 0.17...
Patch kit 2113 0.14... 0.13...

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

另请参阅

函数 (DMX)
通用预测函数 (DMX)
TopPercent (DMX)