如何消除 InfluxDB 聚合窗口查询中的最后一个残留数据点
How to eliminate last residual data point in InfluxDB aggregatewindow query
我有一个关于 InfluxDB 的查询问题;
我正在尝试汇总每天的数据并获取中位数。
日期被截断到一天的开始 (00:00:000)
但是,查询 returns 多一个没有截断到当天开始的最后一个数据;
如何将最后一个数据点的时间截断到一天的开始/或忽略最后一个值?
我的查询:
from(bucket: "metric")
|> range(start: -30d, stop: 0d)
|> filter(fn: (r) => r["_measurement"] == "metric")
|> filter(fn: (r) => r["_field"] == "value")
|> filter(fn: (r) => r["metric"] == "SOME_METRIC")
|> aggregateWindow(every: 1d, fn: median, createEmpty: true)
|> yield(name: "median")
我添加了查询结果,文字说明了我的情况
我想得到的积分是:
(假设今天是 17.02.2022);
15.02.2022 00:00:00:000 - 16.02.2022 00:00:00:000 - 17.02.2022 00:00:00:000
但是我得到了
15.02.2022 00:00:00:000 - 16.02.2022 00:00:00:000 - 17.02.2022 00:00:00:000 - 17.02.2022 05:30:27:437
提前致谢。
好的,我发现我必须在时间范围内给出确切的日期而不是 -d 符号。
from(bucket: "metric")
|> range(start: 2022-01-16T00:00:00Z, stop: 2022-02-17T00:00:00Z)
|> filter(fn: (r) => r["_measurement"] == "metric")
|> filter(fn: (r) => r["_field"] == "value")
|> filter(fn: (r) => r["metric"] == "SOME_METRIC")
|> aggregateWindow(every: 1d, fn: median, createEmpty: true)
|> yield(name: "median")
我也运行关注这个问题。我最终没有使用 aggregateWindow
。相反,尝试像这样将 window 函数与聚合函数一起使用。
from(bucket: "metric")
|> range(start: -30d, stop: 0d)
|> filter(fn: (r) => r["_measurement"] == "metric")
|> filter(fn: (r) => r["_field"] == "value")
|> filter(fn: (r) => r["metric"] == "SOME_METRIC")
|> window(every: 1d)
|> median()
|> group()
|> yield(name: "median")
这似乎解决了我的问题...
我有一个关于 InfluxDB 的查询问题;
我正在尝试汇总每天的数据并获取中位数。 日期被截断到一天的开始 (00:00:000) 但是,查询 returns 多一个没有截断到当天开始的最后一个数据; 如何将最后一个数据点的时间截断到一天的开始/或忽略最后一个值?
我的查询:
from(bucket: "metric")
|> range(start: -30d, stop: 0d)
|> filter(fn: (r) => r["_measurement"] == "metric")
|> filter(fn: (r) => r["_field"] == "value")
|> filter(fn: (r) => r["metric"] == "SOME_METRIC")
|> aggregateWindow(every: 1d, fn: median, createEmpty: true)
|> yield(name: "median")
我添加了查询结果,文字说明了我的情况
我想得到的积分是:
(假设今天是 17.02.2022);
15.02.2022 00:00:00:000 - 16.02.2022 00:00:00:000 - 17.02.2022 00:00:00:000
但是我得到了
15.02.2022 00:00:00:000 - 16.02.2022 00:00:00:000 - 17.02.2022 00:00:00:000 - 17.02.2022 05:30:27:437
提前致谢。
好的,我发现我必须在时间范围内给出确切的日期而不是 -d 符号。
from(bucket: "metric")
|> range(start: 2022-01-16T00:00:00Z, stop: 2022-02-17T00:00:00Z)
|> filter(fn: (r) => r["_measurement"] == "metric")
|> filter(fn: (r) => r["_field"] == "value")
|> filter(fn: (r) => r["metric"] == "SOME_METRIC")
|> aggregateWindow(every: 1d, fn: median, createEmpty: true)
|> yield(name: "median")
我也运行关注这个问题。我最终没有使用 aggregateWindow
。相反,尝试像这样将 window 函数与聚合函数一起使用。
from(bucket: "metric")
|> range(start: -30d, stop: 0d)
|> filter(fn: (r) => r["_measurement"] == "metric")
|> filter(fn: (r) => r["_field"] == "value")
|> filter(fn: (r) => r["metric"] == "SOME_METRIC")
|> window(every: 1d)
|> median()
|> group()
|> yield(name: "median")
这似乎解决了我的问题...