Compartir a través de


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 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 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 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...

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)