Compartir a través de


TopPercent (DMX)

La función TopPercent devuelve, en orden decreciente de rango, las filas superiores de una tabla cuyo total acumulado sea al menos un porcentaje especificado.

Sintaxis

TopPercent(<table expression>, <rank expression>, <percent>)

Se aplica a

Una expresión que devuelve una tabla, como <table column reference>, o una función que devuelve una tabla.

Tipo devuelto

<table expression>

Notas

La función TopPercent devuelve las filas superiores en orden decreciente de rango del valor evaluado del argumento <rank expression> para cada fila, de modo que la suma de los valores de <rank expression> sea al menos el porcentaje que especifica el argumento <percent>. TopPercent devuelve el menor número posible de elementos que cumpla el valor de porcentaje especificado.

Ejemplos

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

Para entender cómo funciona TopPercent, puede ser útil ejecutar primero una consulta de predicción que devuelva sólo 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 Cómo crear una consulta singleton en el Diseñador de minería de datos.

Resultados del ejemplo:

Model

$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 mayores que suman el 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 para la función TopPercent es el nombre de una columna de la tabla. En este ejemplo, la tabla anidada se devuelve llamando a la función Predict y utilizando el argumento INCLUDE_STATISTICS.

El segundo argumento de la función TopPercent es la columna de la tabla anidada que se utiliza 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 valor doble. Para obtener las filas de los primeros productos que suman el 50 por ciento de la compatibilidad total, escriba 50.

Resultados del 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 sólo se proporciona para mostrar el uso de TopPercent. Dependiendo del tamaño del conjunto de datos, esta consulta podría tardar mucho tiempo en ejecutarse.