如何在 Influx QL 中开始新的一周?

问题描述 投票:0回答:1

我需要编写一个 InfluxQL 字符串,以便获取一周的数据,但不是

|> range(start: -1w)
,而是日历周,即在我的例子中 - 02.10.2023 00:00:00。 了解如何从日历月/季度/年开始获取数据也很有趣。

我尝试使用

|> range(start: date.truncate(t: now(), unit: 1w))
|> range(start: -1w)
但我要么得到当天的开始时间,要么得到 7 天前一天的开始时间。 我还尝试将
date.add()
date.weekDay()
结合使用,但出现错误,因为
d:
参数需要持续时间,而不是天数。 我需要日历一周的开始时间。

influxdb influxql
1个回答
0
投票

最后,

date.truncate
timeShift
方法的结合帮助我解决了我的问题。

import "date"
   from(bucket: "training")
  |> range(start: date.truncate(t: -1y, unit: 1w))
  |> aggregateWindow(every: 1w, fn: sum, createEmpty: true)
  |> timeShift(duration: -3d)
  |> fill(column: "_value", value: 0.0)
© www.soinside.com 2019 - 2024. All rights reserved.