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.
Sintaxis
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 devuelto
<expresión de tabla>
Comentarios
La función TopSum devuelve las filas más importantes 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 es al menos el total especificado por el <argumento sum> . TopSum devuelve el menor número de elementos posibles mientras sigue cumpliendo el valor de suma especificado.
Ejemplos
En el ejemplo siguiente se crea una consulta de predicción en 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 Diseñador de minería de datos.
Resultados de ejemplo:
Modelo | $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:
Modelo | $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)