Agrega los elementos del array a.
Sintaxis
R array_reduce(array<T> <a>, buf <init>, function<buf, T, buf> <merge>, function<buf, R> <final>)
Parámetros
a: obligatorio. Este parámetro especifica un array.
Tenarray<T>indica el tipo de dato de los elementos del array. Los elementos admiten cualquier tipo de dato.init: obligatorio. Valor inicial del resultado intermedio que se usa para agregar los elementos.
merge: obligatorio. Función integrada, función definida por el usuario o expresión que aplica una operación a cada elemento del array a y al resultado intermedio. Esta función o expresión toma como parámetros de entrada los elementos del array a y el parámetro init.
final: obligatorio. Función integrada, función definida por el usuario o expresión que convierte el resultado intermedio en el resultado final. Esta función o expresión recibe como parámetro de entrada el resultado de merge. R define el tipo de dato de la salida.
Valor devuelto
El tipo de dato del valor devuelto coincide con el especificado para final.
Ejemplos
-- The return value is 6.
select array_reduce(array(1, 2, 3), 0, (buf, e)->buf + e, buf->buf);
-- The return value is 2.5.
select array_reduce(array(1, 2, 3, 4), named_struct('sum', 0, 'count', 0), (buf, e)->named_struct('sum', buf.sum + e, 'count', buf.count + 1), buf -> buf.sum / buf.count);
Funciones relacionadas
ARRAY_REDUCE es una función de tipos complejos. Para obtener más información sobre las funciones que procesan datos de tipos complejos, como ARRAY, MAP, STRUCT y JSON, consulte Complex type functions.
En los ejemplos anteriores se usa la combinación de un guion y un signo de mayor que
(->). Para conocer cómo usar esta combinación(->)en las funciones Lambda, consulte Lambda functions.