Calculate a weekly mean

This example uses NOAA water sample data.

This example calculates a temperature weekly mean and stores it in a separate bucket.

The following query:

  • Uses filter() to filter the average_temperature measurement.
  • Uses range() to define a time range.
  • Uses aggregateWindow() to group average temperature by week and compute the mean.
  • Sends the weekly mean to a new bucket (weekly_means)
  1. option task = {
  2. name: "weekly-means",
  3. every: 1w,
  4. }
  5. from(bucket: "noaa")
  6. |> filter(fn: (r) => r._measurement == "average_temperature")
  7. |> range(start: 2019-09-01T11:24:00Z)
  8. |> aggregateWindow(every: 1w, fn: mean)
  9. |> to(bucket: "weekly_means")

Example results

_start_stop_field_measurementlocation_value_time
2019-09-01T11:24:00Z2020-10-19T20:39:49Zdegreesaverage_temperaturecoyote_creek80.310059171597632019-09-05T00:00:00Z
2019-09-01T11:24:00Z2020-10-19T20:39:49Zdegreesaverage_temperaturecoyote_creek79.84226190476192019-09-12T00:00:00Z
2019-09-01T11:24:00Z2020-10-19T20:39:49Zdegreesaverage_temperaturecoyote_creek79.827106227106232019-09-19T00:00:00Z
_start_stop_field_measurementlocation_value_time
2019-09-01T11:24:00Z2020-10-19T20:39:49Zdegreesaverage_temperaturesanta_monica80.199524940617582019-09-05T00:00:00Z
2019-09-01T11:24:00Z2020-10-19T20:39:49Zdegreesaverage_temperaturesanta_monica80.019642857142862019-09-12T00:00:00Z
2019-09-01T11:24:00Z2020-10-19T20:39:49Zdegreesaverage_temperaturesanta_monica80.20451