NEWS
Grafana Darstellung Soll / Ist aus Influx DB
-
Hallo zusammen,
nach der Umstellung auf InfluxDB 2 passe ich aktuell meine Grafana Darstellung an. Ich verwende ein Diagramm, um einen Vergleich von Soll und Ist Werten zu ermöglichen. Dabei passt die Zeitachse nicht zusammen. Ich hätte die Balken gerne direkt nebeneinander. Gibt es dafür eine Lösung?
Zu beachten: Die Daten werden aktuell erst seit diesen Monat in die DB geschrieben. Ich vermute, daß die unterschiedlichen Zeitstempel hier die entscheidende Rolle spielen. Die Solldaten habe ich rückwirkend per CSV Upload eingestellt.Datenzugriff in Flux mache ich über:
- Ist Daten
from(bucket: "iobroker") |> range(start: -1y) |> filter(fn: (r) => r._measurement == "0_userdata.0.03_WP.02_WPH_Tag") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1mo, fn: sum, createEmpty: false) |> set(key: "_field", value: "WP") |> map(fn: (r) => ({ r with _value: r._value * 1.0 })) |> yield(name: "WP")
- Soll Daten
from(bucket: "iobroker") |> range(start: -1y) |> filter(fn: (r) => r._measurement == "0_userdata.0.05_Sonstiges.Test_InfluxDB_3") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> set(key: "_field", value: "WP_Soll") |> map(fn: (r) => ({ r with _value: r._value * 1.0 })) |> yield(name: "WP_Soll")
Danke für Eure Ideen & Input, Vg
-
Um die Timestamps zu matchen kannst du mit aggregateWindow arbeiten
probier mal für 1
|> aggregateWindow(every: 1mo, fn: sum, timeSrc: "_start")
und für 2
|> aggregateWindow(every: 1mo, fn: last, timeSrc: "_start")
Damit wird der Timestamp für beide auf anfangs Monat gesetzt.
Was ist die Idee deiner "map" Funktion?
-
Danke für den Hinweis und jetzt ist es mir soweit klar.
Gedanklich hatte ich zudem einen Fehler, den ich nach den händischen CSV Upload mit historischen Daten in der 2. Datenreihe "WPH_Tag" erkannt hatte.
Grafana macht für den laufenden Monat/Tag immer diese aufgeklappte Anzeige, erst nach Monats-/Tagesende ist es bereinigt.