すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ARRAY_REDUCE

最終更新日:Dec 16, 2024

配列aの要素を集計します。

構文

R array_reduce(array<T> <a>, buf <init>, function<buf, T, buf> <merge>, function<buf, R> <final>)

パラメーター

  • a: 必須です。 このパラメーターは、配列を指定します。 array<T>Tは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。

  • init: 必須です。 要素の集計に使用される中間結果の初期値。

  • merge: 必須です。 Array Aの各要素と中間結果に対して操作を実行するために使用される組み込み関数、ユーザー定義関数、または式指定します。 この関数または式は、Array aの要素とinitパラメーターを入力パラメーターとして使用します。

  • final: 必須です。 中間結果を最終結果に変換するために使用される組み込み関数、ユーザー定義関数、または式。 この関数または式は、mergeの結果を入力パラメーターとして使用します。 Rは、出力のデータ型を指定します。

戻り値

戻り値のデータ型は, finalに指定したデータ型と同じです。

-- 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);

関連関数

  • ARRAY_REDUCEは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータの処理に関連する関数の詳細については、複合型関数.

  • 前述の例では、ハイフンとクロージングアングルブラケット (->) の組み合わせが使用されています。 Lambda関数でハイフンとクロージングアングルブラケット (->) の組み合わせを使用する方法の詳細については、「Lambda関数」をご参照ください。