

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzione finestra PERCENTILE\$1DISC
<a name="r_WF_PERCENTILE_DISC"></a>

PERCENTILE\$1DISC è una funzione di distribuzione inversa che presuppone un modello di distribuzione discreta. Prende un valore percentile e una specifica di ordinamento e restituisce un elemento dall'insieme specificato. 

Per un dato valore percentile P, PERCENTILE\$1DISC ordina i valori dell'espressione nella clausola ORDER BY e restituisce il valore con il valore di distribuzione cumulativo più piccolo (rispetto alla stessa specifica di ordinamento) che è maggiore o uguale a P. 

È possibile specificare solo la clausola PARTITION nella clausola OVER. 

## Sintassi
<a name="r_WF_PERCENTILE_DISC-synopsis"></a>

```
PERCENTILE_DISC ( percentile )
WITHIN GROUP (ORDER BY expr)
OVER (  [ PARTITION BY expr_list ]  )
```

## Arguments (Argomenti)
<a name="r_WF_PERCENTILE_DISC-arguments"></a>

 *percentile*   
Costante numerica compresa tra 0 e 1. I valori null vengono ignorati nel calcolo.

WITHIN GROUP ( ORDER BY *expr*)   
Specificate numeri o date/time valori su cui ordinare e calcolare il percentile. 

OVER   
Specifica il partizionamento della finestra. La clausola OVER non può contenere una specifica del frame della finestra o dell'ordinamento della finestra.

PARTITION BY *expr*   
Argomento facoltativo che imposta l'intervallo di registrazioni per ciascun gruppo nella clausola OVER.

## Valori restituiti
<a name="r_WF_PERCENTILE_DISC-returns"></a>

Lo stesso tipo di dati dell'espressione ORDER BY nella clausola WITHIN GROUP.

## Esempi
<a name="r_WF_PERCENTILE_DISC-examples"></a>

Gli esempi seguenti usano la tabella WINSALES. Per una descrizione della tabella WINSALES, consultare [Tabella di esempio per gli esempi della funzione finestra](c_Window_functions.md#r_Window_function_example). 

```
SELECT sellerid, qty, PERCENTILE_DISC(0.5) 
WITHIN GROUP (ORDER BY qty) 
OVER() AS MEDIAN FROM winsales;

+----------+-----+--------+
| sellerid | qty | median |
+----------+-----+--------+
| 3        | 10  | 20     |
| 1        | 10  | 20     |
| 1        | 10  | 20     |
| 4        | 10  | 20     |
| 3        | 15  | 20     |
| 2        | 20  | 20     |
| 2        | 20  | 20     |
| 3        | 20  | 20     |
| 1        | 30  | 20     |
| 3        | 30  | 20     |
| 4        | 40  | 20     |
+----------+-----+--------+

SELECT sellerid, qty, PERCENTILE_DISC(0.5) 
WITHIN GROUP (ORDER BY qty) 
OVER(PARTITION BY sellerid) AS MEDIAN FROM winsales;

+----------+-----+--------+
| sellerid | qty | median |
+----------+-----+--------+
| 4        | 10  | 10     |
| 4        | 40  | 10     |
| 3        | 10  | 15     |
| 3        | 15  | 15     |
| 3        | 20  | 15     |
| 3        | 30  | 15     |
| 2        | 20  | 20     |
| 2        | 20  | 20     |
| 1        | 10  | 10     |
| 1        | 10  | 10     |
| 1        | 30  | 10     |
+----------+-----+--------+
```

Per trovare PERCENTILE\$1DISC (0.25) e PERCENTILE\$1DISC (0.75) per la quantità quando viene partizionata in base all'ID del venditore, usa i seguenti esempi.

```
SELECT sellerid, qty, PERCENTILE_DISC(0.25) 
WITHIN GROUP (ORDER BY qty) 
OVER(PARTITION BY sellerid) AS quartile1 FROM winsales;

+----------+-----+-----------+
| sellerid | qty | quartile1 |
+----------+-----+-----------+
| 4        | 10  | 10        |
| 4        | 40  | 10        |
| 2        | 20  | 20        |
| 2        | 20  | 20        |
| 3        | 10  | 10        |
| 3        | 15  | 10        |
| 3        | 20  | 10        |
| 3        | 30  | 10        |
| 1        | 10  | 10        |
| 1        | 10  | 10        |
| 1        | 30  | 10        |
+----------+-----+-----------+

SELECT sellerid, qty, PERCENTILE_DISC(0.75) 
WITHIN GROUP (ORDER BY qty) 
OVER(PARTITION BY sellerid) AS quartile3 FROM winsales;

+----------+-----+-----------+
| sellerid | qty | quartile3 |
+----------+-----+-----------+
| 3        | 10  | 20        |
| 3        | 15  | 20        |
| 3        | 20  | 20        |
| 3        | 30  | 20        |
| 4        | 10  | 40        |
| 4        | 40  | 40        |
| 2        | 20  | 20        |
| 2        | 20  | 20        |
| 1        | 10  | 30        |
| 1        | 10  | 30        |
| 1        | 30  | 30        |
+----------+-----+-----------+
```