Compartir a través de


TopSum (DMX)

Se aplica a: SQL Server Analysis Services

Devuelve, en orden decreciente de rango, las filas superiores de una tabla cuyo total acumulado sea al menos un valor especificado.

Syntax

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

Se aplica a

Expresión que devuelve una tabla, como una <referencia> de columna de tabla o una función que devuelve una tabla.

Tipo de valor devuelto

<expresión de tabla>

Comentarios

La función TopSum devuelve las filas más principales en orden decreciente de clasificación en función del valor evaluado del argumento de <expresión> de clasificación para cada fila, de modo que la suma de los <valores de expresión de clasificación> sea al menos el total especificado por el <argumento sum> . TopSum devuelve el menor número de elementos posibles mientras se sigue cumpliendo el valor de suma especificado.

Ejemplos

En el ejemplo siguiente se crea una consulta de predicción con el modelo de asociación que se compila mediante el Tutorial básico de minería de datos.

Para comprender cómo funciona TopPercent, puede resultar útil ejecutar primero una consulta de predicción que devuelva solo la tabla anidada.

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  

Nota

En este ejemplo, el valor proporcionado como entrada contiene una comilla sencilla y, por consiguiente, se debe anteponer como carácter de escape otra comilla sencilla. Si duda de la sintaxis para insertar un carácter de escape, puede utilizar el generador de consultas de predicción para crear la consulta. Al seleccionar el valor en la lista desplegable, se inserta el carácter de escape necesario. Para obtener más información, vea Crear una consulta singleton en el Designer de minería de datos.

Resultados de ejemplo:

Modelado $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

La función TopSum toma los resultados de esta consulta y devuelve las filas con los valores más grandes que suman al recuento especificado.

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  

El primer argumento de la función TopSum es el nombre de una columna de tabla. En este ejemplo, se devuelve la tabla anidada llamando a la función Predict y usando el argumento INCLUDE_STATISTICS.

El segundo argumento de la función TopSum es la columna de la tabla anidada que se usa para ordenar los resultados. En este ejemplo, la opción INCLUDE_STATISTICS devuelve las columnas $SUPPORT, $PROBABILTY y $ADJUSTED PROBABILITY. En este ejemplo se utiliza $PROBABILITY para devolver las filas que suman al menos una probabilidad del 50 por ciento.

El tercer argumento de la función TopSum especifica la suma de destino, como un doble. Para obtener las filas para los primeros productos que suman una probabilidad del 50 por ciento, escriba .5.

Resultados de ejemplo:

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

Nota Este ejemplo solo se proporciona para ilustrar el uso de TopSum. Dependiendo del tamaño del conjunto de datos, esta consulta podría tardar mucho tiempo en ejecutarse.

Consulte también

Funciones (DMX)
Funciones de predicción generales (DMX)
TopPercent (DMX)