REDUCE


reducer framework
Since v1.0.0
Available on all platforms
See also

The REDUCE framework groups Geo Time Series™ by equivalence classes based on label values and applies a function on each equivalence class of Geo Time Series™, considering the values of each tick and producing one GTS per equivalence class.

As the selected reducer function is applied tick by tick, it is usually wise to BUCKETIZE the GTS first with a common value of lastbucket.

The labels whose values are common to all the GTS in an equivalence class will be retained.

Since 2.1 you can make REDUCE override the GTSs ticks. This usage in mainly to be used in conjuction with MACROREDUCER.

Signature

Examples

NEWGTS 'a' RENAME { 'type' '1' } RELABEL 1 10 <% NaN NaN NaN 1 ADDVALUE %> FOR NEWGTS 'b' RENAME { 'type' '1' } RELABEL 1 10 <% NaN NaN NaN 1 ADDVALUE %> FOR NEWGTS 'a' RENAME { 'type' '2' } RELABEL 1 10 <% NaN NaN NaN 2 ADDVALUE %> FOR NEWGTS 'b' RENAME { 'type' '2' } RELABEL 1 10 <% NaN NaN NaN 2 ADDVALUE %> FOR 4 ->LIST [ SWAP [ 'type' ] reducer.product ] REDUCE
[ NEWGTS 1 10 <% NaN NaN NaN 1 ADDVALUE %> FOR NEWGTS 1 5 <% 2 * NaN NaN NaN 2 ADDVALUE %> FOR ] [ SWAP [] <% 'rw' STORE $rw 0 GET 5 * // Tick * 5 NaN NaN NaN // Loc & Elev 0 $rw 7 GET <% DUP ISNULL <% DROP %> <% + %> IFTE %> FOREACH // Value %> MACROREDUCER T ] REDUCE