All Products
Search
Document Center

MaxCompute:PERCENTILE_CONT

Last Updated:Jun 25, 2026

Fungsi PERCENTILE_CONT menghitung persentil kontinu menggunakan interpolasi linear. Fungsi ini mengurutkan nilai-nilai dalam suatu kolom secara ascending dan mengembalikan nilai hasil interpolasi untuk percentile yang ditentukan.

Sintaksis

-- Sebagai fungsi agregat
PERCENTILE_CONT(<col_name>, DOUBLE <percentile>[, BOOLEAN <isIgnoreNull>])

-- Sebagai window function
PERCENTILE_CONT(<col_name>, DOUBLE <percentile>[, BOOLEAN <isIgnoreNull>]) OVER ([partition_clause] [orderby_clause])

Parameter

  • col_name: Wajib diisi. Kolom bertipe DOUBLE atau DECIMAL.

  • percentile: Wajib diisi. Konstanta DOUBLE dalam rentang [0, 1].

  • isIgnoreNull: Opsional. Konstanta BOOLEAN yang menentukan apakah nilai NULL diabaikan. Nilai default-nya adalah TRUE. Jika diatur ke FALSE, nilai NULL diperlakukan sebagai nilai minimum.

  • partition_clause dan orderby_clause: Lihat Window Functions untuk detail selengkapnya.

Nilai kembalian

Mengembalikan persentil yang dihitung sebagai nilai DOUBLE.

Contoh

  • Contoh 1: Hitung persentil kontinu dalam suatu window dengan mengabaikan nilai NULL.

    SELECT
      PERCENTILE_CONT(x, 0) OVER() AS min,
      PERCENTILE_CONT(x, 0.01) OVER() AS percentile1,
      PERCENTILE_CONT(x, 0.5) OVER() AS median,
      PERCENTILE_CONT(x, 0.9) OVER() AS percentile90,
      PERCENTILE_CONT(x, 1) OVER() AS max
    FROM VALUES(0D),(3D),(NULL),(1D),(2D) AS tbl(x) LIMIT 1;
    
    -- Hasil berikut dikembalikan:
    +------------+-------------+------------+--------------+------------+
    | min        | percentile1 | median     | percentile90 | max        | 
    +------------+-------------+------------+--------------+------------+
    | 0.0        | 0.03        | 1.5        | 2.7          | 3.0        | 
    +------------+-------------+------------+--------------+------------+
  • Contoh 2: Hitung persentil kontinu dalam suatu window dengan memperlakukan nilai NULL sebagai nilai minimum.

    SELECT
      PERCENTILE_CONT(x, 0, false) OVER() AS min,
      PERCENTILE_CONT(x, 0.01, false) OVER() AS percentile1,
      PERCENTILE_CONT(x, 0.5, false) OVER() AS median,
      PERCENTILE_CONT(x, 0.9, false) OVER() AS percentile90,
      PERCENTILE_CONT(x, 1, false) OVER() AS max
    FROM VALUES(0D),(3D),(NULL),(1D),(2D) AS tbl(x) LIMIT 1;
    
    -- Hasil berikut dikembalikan:
    +------------+-------------+------------+--------------+------------+
    | min        | percentile1 | median     | percentile90 | max        | 
    +------------+-------------+------------+--------------+------------+
    | NULL       | 0.0         | 1.0        | 2.6          | 3.0        | 
    +------------+-------------+------------+--------------+------------+

Fungsi terkait

PERCENTILE_CONT dapat digunakan sebagai fungsi agregat atau window function.

  • Untuk fungsi lain yang mengagregasi data dari beberapa record, lihat Aggregate Functions.

  • Untuk fungsi lain yang melakukan perhitungan pada window baris, seperti penjumlahan dan peringkat, lihat Window Functions.