Função ML.BUCKETIZE

Neste documento, descrevemos a função ML.BUCKETIZE, que permite dividir uma expressão numérica em buckets.

Sintaxe

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

Argumentos

ML.BUCKETIZE usa os seguintes argumentos:

  • numerical_expression: a expressão numérica a ser dividida em buckets.
  • array_split_points: uma matriz de valores numéricos que fornecem os pontos em que o valor de numerical_expression será dividido. Forneça os valores numéricos em ordem, do menor para o maior. O intervalo de buckets possíveis é determinado pelos limites superior e inferior da matriz. Por exemplo, se o valor array_split_points for [1, 2, 3, 4], haverá cinco buckets em potencial em que o valor numerical_expression poderá ser dividido.
  • exclude_boundaries: um valor BOOL que determina se os limites superior e inferior de array_split_points serão usados. Se for TRUE, os valores de limite não serão usados para criar buckets. Por exemplo, se o valor array_split_points for [1, 2, 3, 4] e exclude_boundaries for TRUE, haverá três buckets em potencial em que o valor numerical_expression poderá ser dividido. O valor padrão é FALSE.

Saída

ML.BUCKETIZE retorna um valor de STRING que contém o nome do bucket. Os nomes de bucket retornados estão no formato bin_<bucket_index>, com bucket_index começando por 1.

Exemplo

O exemplo a seguir divide uma expressão numérica em buckets com e sem limites:

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

A saída será assim:

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

A seguir