---
title: Calculate a weekly mean
description: Calculate a weekly mean and add it to a new bucket.
url: https://docs.influxdata.com/influxdb/v2/process-data/common-tasks/calculate_weekly_mean/
estimated_tokens: 1762
product: InfluxDB OSS v2
version: v2
---

# Calculate a weekly mean

This page documents an earlier version of InfluxDB OSS. [InfluxDB 3 Core](/influxdb3/core/) is the latest stable version.

#### API token hashing is enabled by default in InfluxDB OSS 2.9.0

Stronger token security: tokens are stored as hashes on disk, so a copy of the database file doesn’t expose usable tokens. Existing tokens are hashed on first startup and the original strings can’t be recovered afterward — **capture any plaintext tokens you still need before you upgrade**.

For more information, see [Token hashing](/influxdb/v2/admin/tokens/#token-hashing).

This example uses [NOAA water sample data](/influxdb/v2/reference/sample-data/#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()`](/flux/v0/stdlib/universe/filter/) to select records with the `average_temperature` measurement.
-   Uses [`range()`](/flux/v0/stdlib/universe/range/) to define the start time.
-   Uses [`aggregateWindow()`](/flux/v0/stdlib/universe/aggregatewindow/) to group records by week and compute the mean.
-   Sends the weekly mean to a new bucket (`weekly_means`).

```js
option task = {
  name: "weekly-means",
  every: 1w,
}

from(bucket: "noaa")
  |> filter(fn: (r) => r._measurement == "average_temperature")
  |> range(start: 2019-09-01T11:24:00Z)
  |> aggregateWindow(every:  1w, fn: mean)
  |> 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](/influxdb/v2/tags/tasks/)
