

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función APPROXIMATE PERCENTILE\$1DISC
<a name="r_APPROXIMATE_PERCENTILE_DISC"></a>

APPROXIMATE PERCENTILE\$1DISC es una función de distribución inversa que asume un modelo de distribución discreta. Toma un valor percentil y una especificación de ordenación, y devuelve un elemento del conjunto dado. La aproximación permite que la función se ejecute mucho más rápido, con un margen de error relativamente bajo de alrededor del 0,5 %.

En un *percentil* dado, APPROXIMATE PERCENTILE\$1DISC utiliza un algoritmo de resumen de cuartiles para aproximar el percentil discreto de la expresión en la cláusula ORDER BY. APPROXIMATE PERCENTILE\$1DISC devuelve el menor valor de distribución acumulado (con respecto a la misma especificación de ordenación) que sea mayor o igual que el *percentil*. 

## Sintaxis
<a name="r_APPROXIMATE_PERCENTILE_DISC-synopsis"></a>

```
APPROXIMATE  PERCENTILE_DISC ( percentile )
WITHIN GROUP (ORDER BY expr)
```

## Argumentos
<a name="r_APPROXIMATE_PERCENTILE_DISC-arguments"></a>

 *percentil*   
Constante numérica entre 0 y 1. Los valores nulos se ignoran en el cálculo.

WITHIN GROUP ( ORDER BY *expr*)   
Cláusula que especifica valores numéricos o de fecha/hora para ordenar y calcular el percentil. 

## Devuelve
<a name="r_APPROXIMATE_PERCENTILE_DISC-returns"></a>

El mismo tipo de datos que la expresión ORDER BY en la cláusula WITHIN GROUP.

## Notas de uso
<a name="r_APPROXIMATE_PERCENTILE_DISC-usage-notes"></a>

Si la instrucción APPROXIMATE PERCENTILE\$1DISC incluye una cláusula GROUP BY, el conjunto de resultados es limitado. El límite varía según el tipo de nodo y la cantidad de nodos. Si se supera el límite, la función falla y devuelve el siguiente mensaje de error.

```
GROUP BY limit for approximate percentile_disc exceeded.
```

Si necesita evaluar más grupos que los permitidos, considere usar [Función PERCENTILE\$1CONT](r_PERCENTILE_CONT.md). 

## Ejemplos
<a name="r_APPROXIMATE_PERCENTILE_DISC-examples"></a>

El siguiente ejemplo devuelve la cantidad de ventas, las ventas totales y el valor del décimo quinto percentil para las 10 primeras fechas. 

```
select top 10 date.caldate,
count(totalprice), sum(totalprice),
approximate percentile_disc(0.5) 
within group (order by totalprice)
from listing
join date on listing.dateid = date.dateid
group by date.caldate
order by 3 desc;

caldate    | count | sum        | percentile_disc
-----------+-------+------------+----------------
2008-01-07 |   658 | 2081400.00 |         2020.00
2008-01-02 |   614 | 2064840.00 |         2178.00
2008-07-22 |   593 | 1994256.00 |         2214.00
2008-01-26 |   595 | 1993188.00 |         2272.00
2008-02-24 |   655 | 1975345.00 |         2070.00
2008-02-04 |   616 | 1972491.00 |         1995.00
2008-02-14 |   628 | 1971759.00 |         2184.00
2008-09-01 |   600 | 1944976.00 |         2100.00
2008-07-29 |   597 | 1944488.00 |         2106.00
2008-07-23 |   592 | 1943265.00 |         1974.00
```