-- -- Determine the Quantile classifications from a numeric array -- -- @param in_array A numeric array of numbers to determine the best -- bins based on the Quantile method. -- -- @param breaks The number of bins you want to find. -- -- CREATE OR REPLACE FUNCTION @extschema@.CDB_QuantileBins(in_array numeric[], breaks int) RETURNS numeric[] AS $$ SELECT percentile_disc(Array(SELECT generate_series(1, breaks) / breaks::numeric)) WITHIN GROUP (ORDER BY x ASC) AS p FROM unnest(in_array) AS x; $$ language SQL IMMUTABLE STRICT PARALLEL SAFE;