Calculating an Average

There are actually a couple of different ways to capture average, min or max values, depending on if you want to capture all of the values in your table, or just a couple.

Capturing All Values

To capture the average value of all of the columns in a table, you can use the Flatten layer.

This captures a key aggregate (such as first, last, min, max or avg) value from a table and writes it to your capture attributes.

Note that unless you set the value of 'retain' to true, this also removes any table or timeframe data the layer contains.

See the following example…

Assuming we have a table (probably loaded with Get Query) containing the following…

TemperatureSpeedCurrentProduct
102115.11
102105.21
202095.12
202105.22

…along with the configuration below…

{
   "type": "flatten"
   "method": "avg"
}

Your final capture would contain something like the results below…

Temperature: 15
Speed: 210
Current: 5.15
Product: 1.5
.

Capturing Specific Values

If you're looking for something specific or you'd like to control what each point is called, you can use the ValueSummary layer.

In this case, we list the names of the columns we want to average. We can also provide conditions.

You can use the following…

{
   "columns": ["Temperature"],
   "named": ["Average Water Temp"],
   "methods": ["avg"]
}

Your final capture would contain…

Average Water Temp: 15.

Splitting By Other Values

The ValueSummary method can also include conditions and be split. For example, if we wanted to know the average temperature per product, we could use…

{
   "columns": ["Temperature"],
   "prefix": "Average ",
   "named": " Water Temperature"
   "methods": ["avg"],
   "splitby": "Product"
}

Your final capture would contain…

Average 1 Water Temp: 10
Average 2 Water Temp: 20