NEWS
Grafana, Summierung der letzten Tageswerte
-
Hallo,
ich möchte die täglichen Tageswerte der Regenmenge zu Monatswerten aufsummieren. Die jeweiligen Regenwerte werden fortlaufend am Tag erfasst und am Tagesende auf 0 gesetzt. Mein Problem ist, dass ich bei nachstehender Abfrage offensichtlich auch die jeweiligen Tageswerte aufsummiere und nicht nur den letzten Tageswert.
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") |> range(start: date.truncate(t: date.add(d: -6mo, to: today()), unit: 1mo), stop: date.truncate(t: today(), unit: 1mo)) |> filter(fn: (r) => r["_measurement"] == "Regen heute") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1mo, fn: sum, createEmpty: true, timeSrc: "_start") |> yield(name: "last")
Es hat zwar viel geregnet aber soviel dann doch nicht.
Wo ist mein Fehler in der Abfrage?
-
@andi_grafa sagte in Grafana, Summierung der letzten Tageswerte:
Wie du schon richtig selbst festgestellt hast, summierst du stumpf ALLE Werte. Stattdessen willst du ja nur den jeweilig letzten Wert des Tages nehmen und den im Monat summieren. Das bedeutet, dass du noch ein zusätzliches "aggregateWindow" benötigt, mit dem du den Tages"letzt"wert ermittelst. Versuchs mal so:
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") |> range(start: date.truncate(t: date.add(d: -6mo, to: today()), unit: 1mo), stop: date.truncate(t: today(), unit: 1mo)) |> filter(fn: (r) => r["_measurement"] == "Regen heute") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start") |> aggregateWindow(every: 1mo, fn: sum, createEmpty: true, timeSrc: "_start")