

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Fungsi jendela MEDIAN
<a name="r_WF_MEDIAN"></a>

Menghitung nilai median untuk rentang nilai di jendela atau partisi. Nilai NULL dalam rentang diabaikan.

MEDIAN adalah fungsi distribusi terbalik yang mengasumsikan model distribusi kontinu.

## Sintaksis
<a name="r_WF_MEDIAN-synopsis"></a>

```
MEDIAN ( median_expression )
OVER ( [ PARTITION BY partition_expression ] )
```

## Argumen
<a name="r_WF_MEDIAN-arguments"></a>

 *median\$1expression*   
Ekspresi, seperti nama kolom, yang memberikan nilai untuk menentukan median. Ekspresi harus memiliki tipe data numerik atau datetime atau secara implisit dapat dikonversi menjadi satu.

DI ATAS   
Sebuah klausa yang menentukan partisi jendela. Klausa OVER tidak dapat berisi urutan jendela atau spesifikasi bingkai jendela.

PARTISI OLEH *partition\$1expression*   
Tidak wajib. Ekspresi yang menetapkan rentang catatan untuk setiap grup dalam klausa OVER.

## Jenis Data
<a name="r_WF_MEDIAN-data-types"></a>

Jenis pengembalian ditentukan oleh tipe data *median\$1expression*. Tabel berikut menunjukkan tipe kembali untuk setiap tipe data *median\$1expression*.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/dg/r_WF_MEDIAN.html)

## Catatan penggunaan
<a name="r_WF_MEDIAN-data-usage-notes"></a>

Jika argumen *median\$1expression* adalah tipe data DECIMAL yang didefinisikan dengan presisi maksimum 38 digit, ada kemungkinan MEDIAN akan mengembalikan hasil yang tidak akurat atau kesalahan. Jika nilai pengembalian fungsi MEDIAN melebihi 38 digit, hasilnya terpotong agar sesuai, yang menyebabkan hilangnya presisi. Jika, selama interpolasi, hasil antara melebihi presisi maksimum, luapan numerik terjadi dan fungsi mengembalikan kesalahan. Untuk menghindari kondisi ini, sebaiknya gunakan tipe data dengan presisi lebih rendah atau mentransmisikan argumen *median\$1expression* ke presisi yang lebih rendah. 

Misalnya, fungsi SUM dengan argumen DECIMAL mengembalikan presisi default 38 digit. Skala hasilnya sama dengan skala argumen. Jadi, misalnya, SUM kolom DECIMAL (5,2) mengembalikan tipe data DECIMAL (38,2).

Contoh berikut menggunakan fungsi SUM dalam argumen *median\$1expression* dari fungsi MEDIAN. Tipe data dari kolom PRICEPAID adalah DECIMAL (8,2), sehingga fungsi SUM mengembalikan DECIMAL (38,2).

```
select salesid, sum(pricepaid), median(sum(pricepaid)) 
over() from sales where salesid < 10 group by salesid;
```

Untuk menghindari potensi kehilangan presisi atau kesalahan luapan, lemparkan hasilnya ke tipe data DECIMAL dengan presisi lebih rendah, seperti yang ditunjukkan contoh berikut.

```
select salesid, sum(pricepaid), median(sum(pricepaid)::decimal(30,2)) 
over() from sales where salesid < 10 group by salesid;
```

## Contoh
<a name="r_WF_MEDIAN-examples"></a>

 Contoh berikut menghitung jumlah penjualan rata-rata untuk setiap penjual: 

```
select sellerid, qty, median(qty) 
over (partition by sellerid) 
from winsales
order by sellerid;


sellerid	qty	median
---------------------------
1		10	10.0
1		10	10.0
1		30	10.0
2		20	20.0
2		20	20.0
3		10	17.5
3		15	17.5
3		20	17.5
3		30	17.5
4		10	25.0
4		40	25.0
```

Untuk deskripsi tabel WINSALES, lihat[Contoh tabel untuk contoh fungsi jendela](c_Window_functions.md#r_Window_function_example). 