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 denumerical_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 valorarray_split_points
for[1, 2, 3, 4]
, haverá cinco buckets em potencial em que o valornumerical_expression
poderá ser dividido.exclude_boundaries
: um valorBOOL
que determina se os limites superior e inferior dearray_split_points
serão usados. Se forTRUE
, os valores de limite não serão usados para criar buckets. Por exemplo, se o valorarray_split_points
for[1, 2, 3, 4]
eexclude_boundaries
forTRUE
, haverá três buckets em potencial em que o valornumerical_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
- Para informações sobre o pré-processamento de atributos, consulte Visão geral do pré-processamento de atributos.
- Para informações sobre as funções e instruções SQL compatíveis com cada tipo de modelo, consulte Jornada do usuário completa de cada modelo.