

 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.

# Ekspresi majemuk
<a name="r_compound_expressions"></a>

Ekspresi majemuk adalah serangkaian ekspresi sederhana yang digabungkan oleh operator aritmatika. Ekspresi sederhana yang digunakan dalam ekspresi majemuk harus mengembalikan nilai numerik.

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

```
expression 
operator 
expression | (compound_expression)
```

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

 *ekspresi*   
Ekspresi sederhana yang mengevaluasi nilai.

 *operator*   
 Ekspresi aritmatika majemuk dapat dibangun menggunakan operator berikut, dalam urutan prioritas ini:  
+ (): tanda kurung untuk mengontrol urutan evaluasi
+ \$1, -: tanda/operator positif dan negatif
+  ^, \$1/, \$1\$1/: eksponensial, akar kuadrat, akar kubus
+ \$1,/,%: operator perkalian, pembagian, dan modulo
+  @: nilai absolut
+ \$1, -: penambahan dan pengurangan
+ &, \$1, \$1, \$1, <<, >>: DAN, ATAU, TIDAK, geser ke kiri, geser operator bitwise kanan
+ \$1\$1: penggabungan

 *(compound\$1expression)*   
Ekspresi majemuk dapat disarangkan menggunakan tanda kurung.

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

Contoh ekspresi majemuk meliputi yang berikut ini.

```
('SMITH' || 'JONES')
sum(x) / y
sqrt(256) * avg(column)
rank() over (order by qtysold) / 100
(select (pricepaid - commission) from sales where dateid = 1882) * (qtysold)
```

Beberapa fungsi juga dapat disarangkan dalam fungsi lain. Misalnya, fungsi skalar apa pun dapat bersarang di dalam fungsi skalar lain. Contoh berikut mengembalikan jumlah nilai absolut dari satu set angka:

```
sum(abs(qtysold))
```

Fungsi jendela tidak dapat digunakan sebagai argumen untuk fungsi agregat atau fungsi jendela lainnya. Ekspresi berikut akan mengembalikan kesalahan:

```
avg(rank() over (order by qtysold))
```

Fungsi jendela dapat memiliki fungsi agregat bersarang. Ekspresi berikut menjumlahkan kumpulan nilai dan kemudian memeringkatnya:

```
rank() over (order by sum(qtysold))
```