RATIOFungsi jendela _TO_ REPORT - Amazon Redshift

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

RATIOFungsi jendela _TO_ REPORT

Menghitung rasio nilai dengan jumlah nilai di jendela atau partisi. Rasio terhadap nilai laporan ditentukan dengan menggunakan rumus:

value of ratio_expression ratio_expression argument for the current row / sum of argument for the window or partition

Dataset berikut menggambarkan penggunaan rumus ini:

Row# Value Calculation RATIO_TO_REPORT 1 2500 (2500)/(13900) 0.1798 2 2600 (2600)/(13900) 0.1870 3 2800 (2800)/(13900) 0.2014 4 2900 (2900)/(13900) 0.2086 5 3100 (3100)/(13900) 0.2230

Rentang nilai pengembalian adalah 0 hingga 1, inklusif. Jika ratio_expression adalahNULL, maka nilai kembaliannya adalah. NULL Jika nilai dalam partition_expression unik, maka fungsi akan kembali 1 untuk nilai itu.

Sintaks

RATIO_TO_REPORT ( ratio_expression ) OVER ( [ PARTITION BY partition_expression ] )

Argumen

ratio_expression

Ekspresi, seperti nama kolom, yang memberikan nilai untuk menentukan rasio. Ekspresi harus memiliki tipe data numerik atau secara implisit dapat dikonversi menjadi satu.

Anda tidak dapat menggunakan fungsi analitik lainnya di ratio_expression.

OVER

Sebuah klausa yang menentukan partisi jendela. OVERKlausul tidak dapat berisi urutan jendela atau spesifikasi bingkai jendela.

PARTITIONOLEH partition_expression

Tidak wajib. Ekspresi yang menetapkan rentang catatan untuk setiap grup dalam OVER klausa.

Jenis pengembalian

FLOAT8

Contoh

Contoh berikut menggunakan WINSALES tabel. Untuk informasi tentang cara membuat WINSALES tabel, lihatContoh tabel untuk contoh fungsi jendela.

Contoh berikut menghitung ratio-to-report nilai setiap baris kuantitas penjual dengan total jumlah semua penjual.

select sellerid, qty, ratio_to_report(qty) over() from winsales order by sellerid; sellerid qty ratio_to_report -------------------------------------- 1 30 0.13953488372093023 1 10 0.046511627906976744 1 10 0.046511627906976744 2 20 0.09302325581395349 2 20 0.09302325581395349 3 30 0.13953488372093023 3 20 0.09302325581395349 3 15 0.06976744186046512 3 10 0.046511627906976744 4 10 0.046511627906976744 4 40 0.18604651162790697

Contoh berikut menghitung rasio jumlah penjualan untuk setiap penjual dengan partisi.

select sellerid, qty, ratio_to_report(qty) over(partition by sellerid) from winsales; sellerid qty ratio_to_report ------------------------------------------- 2 20 0.5 2 20 0.5 4 40 0.8 4 10 0.2 1 10 0.2 1 30 0.6 1 10 0.2 3 10 0.13333333333333333 3 15 0.2 3 20 0.26666666666666666 3 30 0.4