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 sample query performs the following operations:

  • Uses filter() to select records with the average_temperature measurement.
  • Uses range() to define the start time.
  • Uses aggregateWindow() to group records 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. }

6. from(bucket: "noaa")
7. |> filter(fn: (r) => r._measurement == "average_temperature")
8. |> range(start: 2019-09-01T11:24:00Z)
9. |> aggregateWindow(every:  1w, fn: mean)
10. |> to(bucket: "weekly_means")

Example results

_start _stop _field _measurement location _value _time
2019-09-01T11:24:00Z 2020-10-19T20:39:49Z degrees average_temperature coyote_creek 80.31005917159763 2019-09-05T00:00:00Z
2019-09-01T11:24:00Z 2020-10-19T20:39:49Z degrees average_temperature coyote_creek 79.8422619047619 2019-09-12T00:00:00Z
2019-09-01T11:24:00Z 2020-10-19T20:39:49Z degrees average_temperature coyote_creek 79.82710622710623 2019-09-19T00:00:00Z
_start _stop _field _measurement location _value _time
2019-09-01T11:24:00Z 2020-10-19T20:39:49Z degrees average_temperature santa_monica 80.19952494061758 2019-09-05T00:00:00Z
2019-09-01T11:24:00Z 2020-10-19T20:39:49Z degrees average_temperature santa_monica 80.01964285714286 2019-09-12T00:00:00Z
2019-09-01T11:24:00Z 2020-10-19T20:39:49Z degrees average_temperature santa_monica 80.20451

tasks