reduce¶
Takes a json object, and considers each field to be a separate datapoint’s data. It then runs the transform in its argument over the elements
reduce
performs a given transform on all the elements of a multi-element datapoint.
Suppose you have the following data:
[
{
"a": 3,
"b": 5
},
{
"q": 10,
"z": 23
}
]
Then the transform reduce(sum)
will give you:
[8, 33]
Reduce took each element in the given datapoint, and applied the transform sum
to it.
Usage¶
The reduce transform is particularly useful in conjunction with the map
transform.
Suppose you want to find the average number of steps taken every weekday.
Running the following transform will give you a map of weekday to average step count:
while(day==$[1]:day,sum) | map(weekday, mean)
For example, a possible result of the above transform could be:
[
{
"Monday": 12243,
"Tuesday": 13452,
"Wednesday": 14523,
"Thursday": 9543,
"Friday": 20487,
"Saturday": 3000,
"Sunday": 4000
}
]
You can now find the average per weekday by running reduce(mean)
, giving a final transform:
while(day==$[1]:day,sum) | map(weekday, mean) | reduce(mean)
Transform Details¶
Input Schema | Output Schema |
---|---|
{}
| {}
|
Arguments¶
# | Description | Type | Schema |
---|---|---|---|
1 | The transform to instantiate for each datapoint's values. | pipe | {}
|