Función ML.BUCKETIZE

En este documento, se describe la función ML.BUCKETIZE, que te permite dividir una expresión numérica en buckets.

Sintaxis

ML.BUCKETIZE(numerical_expression, array_split_points [, exclude_boundaries])

Argumentos

ML.BUCKETIZE toma los siguientes argumentos:

  • numerical_expression: la expresión numérica que se agrupará en buckets.
  • array_split_points: un arreglo de valores numéricos que proporcionan los puntos en los que se divide el valor numerical_expression. Proporciona los valores numéricos en orden, de menor a mayor. El rango de buckets posibles se determina mediante los límites inferior y superior del array. Por ejemplo, si el valor de array_split_points es [1, 2, 3, 4], hay cuatro buckets posibles en los que el valor numerical_expression se puede agrupar.
  • exclude_boundaries: un valor BOOL que determina si se usan los límites inferior y superior de array_split_points. Si es TRUE, los valores de límite no se usan para crear buckets. Por ejemplo, si el valor de array_split_points es [1, 2, 3, 4] y exclude_boundaries es TRUE, entonces hay tres buckets potenciales en los que se puede agrupar el valor numerical_expression. El valor predeterminado esFALSE.

Salida

ML.BUCKETIZE devuelve un STRING que contiene el nombre del bucket. Los nombres de los buckets que se muestran tienen el formato bin_<bucket_index>, con bucket_index a partir de 1.

Ejemplo

En el siguiente ejemplo, se agrupa una expresión numérica con y sin límites:

SELECT
  ML.BUCKETIZE(2.5, [1, 2, 3]) AS bucket,
  ML.BUCKETIZE(2.5, [1, 2, 3], TRUE) AS bucket_without_boundaries;

El resultado es similar al siguiente:

+---------+----------------------------+
| bucket  | bucket_without_boundaries  |
+---------+----------------------------+
| bin_3   | bin_2                      |
+---------+----------------------------+

¿Qué sigue?