按月统计数据
Grafana变量设置时使用的FLUX语句
import "regexp"
from(bucket: "mybucket")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "cost")
|> map(fn: (r) => ({r with billingMonth: regexp.replaceAllString(r: /-[0-9]{2}$/, v: r.billingDate, t: "")}))
|> keep(columns: ["billingMonth"])
|> keyValues(keyColumns: ["billingMonth"])
|> distinct(column: "_value")
Grafana图表设置时使用的FLUX语句
import "regexp"
from(bucket: "mybucket")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "cost")
|> map(fn: (r) => ({r with billingMonth: regexp.replaceAllString(r: /-[0-9]{2}$/, v: r.billingDate, t: "")}))
|> filter(fn: (r) => r["billingMonth"] == "${billingMonth}")
|> group(columns: ["billingDate"])
|> sum(column: "_value")