TopPercent (DMX)
Se aplica a: SQL Server Analysis Services
La función TopPercent devuelve, en orden de disminución de rango, las filas más principales de una tabla cuyo total acumulado es al menos un porcentaje especificado.
Sintaxis
TopPercent(<table expression>, <rank expression>, <percent>)
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 TopPercent 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 porcentaje especificado por el <argumento percent> . TopPercent devuelve el menor número de elementos posibles mientras se sigue cumpliendo el valor de porcentaje 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 | 4,334 | 0.291283016 | 0.252695851 |
Water Bottle | 2,866 | 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 | 1,195 | 0.080314537 | 0.077173962 |
La función TopPercent toma los resultados de esta consulta y devuelve las filas con los valores más grandes que se suman al porcentaje especificado.
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
El primer argumento de la función TopPercent 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 TopPercent 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 $SUPPORT porque sus valores no son fraccionarios y, por consiguiente, son más fáciles de comprobar.
El tercer argumento de la función TopPercent especifica el porcentaje, como un doble. Para obtener las filas de los primeros productos que suman el 50 por ciento de la compatibilidad total, escriba 50.
Resultados de ejemplo:
Modelo | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 | 4,334 | 0.29... | 0.25... |
Water Bottle | 2,866 | 0.19... | 0.17... |
Patch kit | 2113 | 0.14... | 0.13... |
Mountain Tire Tube | 1992 | 0.133... | 0.12... |
Nota Este ejemplo solo se proporciona para ilustrar el uso de TopPercent. Dependiendo del tamaño del conjunto de datos, esta consulta podría tardar mucho tiempo en ejecutarse.
Advertencia
Las funciones MDX de TOPPERCENT y BOTTOMPERCENT pueden generar resultados inesperados cuando los valores utilizados para calcular el porcentaje contienen números negativos. Este comportamiento no afecta a las funciones DMX. Para obtener más información, vea BottomPercent (MDX).
Consulte también
Referencia de funciones de extensiones de minería de datos (DMX)
Funciones (DMX)
Funciones de predicción generales (DMX)