Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Table mit mehreren Queries - Versatz entfernen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Table mit mehreren Queries - Versatz entfernen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      T-147 last edited by

      Guten Morgen, allerseits.

      Ich hab jezt seit gut 2 Jahren ein Balkonkraftwerk, dessen Daten ich mit Grafana (aus InfluxDB) visuell aufbereite.
      Dazu wollte ich mir jetzt eine Tabelle über die verschiedenen Abrechnungsjahre (beginnen immer am 01. April) erstellen lassen.
      Leider hat sich die vorhandene Technik im Luaf der Zeit verändert (Stromzähler getauscht zB) und dadurch muss ich für das erste und für das zweite Jahr separate Queries erstellen, um am Ende die richtigen Werte auszubekommen. D.h. ich habe jetzt also 3 Queries in dieser Tabelle.
      Das Problem besteht jetzt darin, dass die Werte der 3 Queries nicht gemeinsam in den entsprechenden Spalten angezeigt werden, sondern nebeneinander versetzt:

      ef3489c9-0f06-41fc-a813-f96789bd46dc-grafik.png

      Um überhaupt alles gleichzeitig angezeigt zu bekommen, war eine Transformation (Outer Time series) notwendig.

      Hat jemand eine Idee, wie ich die Spalten jetzt auch vernünftig untereinander bekomme?
      Die 3 Queries unterscheiden sich aktuell eigentlich nur durch die zeitliche Range (ohne Überschneidung) und "fill value"-Werte. Die Mappings einzelner Werte sollen/können bei der aktuellen Query eigentlich entfernt werden, aber so weit bin ich noch gar nicht gekommen, wegen dieses optischen Schönheitsfehlers.

      Als Beispiel hier mal eines der 3 Queries:

      from(bucket: "ioBroker")
        |> range(start: 2024-01-04T00:00:00Z, stop: 2025-03-31T23:59:59Z)
        |> filter(fn: (r) => r._measurement == "PV_Inverter___Ertrag_total" or  r._measurement == "Strompreis_kWh" or r._measurement == "SmartMeter___Einspeisung_gesamt")
        |> filter(fn: (r) => r._field == "value")
        |> aggregateWindow(every: 1y, offset: 3mo, fn: last, timeSrc: "_start")
        |> pivot(rowKey: ["_time"], columnKey: ["_measurement"], valueColumn: "_value")
        |> difference(columns: ["PV_Inverter___Ertrag_total", "SmartMeter___Einspeisung_gesamt" ])
        |> fill(column: "SmartMeter___Einspeisung_gesamt", value: 261.77)
        |> map(fn: (r) => ({ r with Eigennutzung: r.PV_Inverter___Ertrag_total - r.SmartMeter___Einspeisung_gesamt }))
        |> map(fn: (r) => ({ r with Effizienz: (r.PV_Inverter___Ertrag_total - r.SmartMeter___Einspeisung_gesamt) / r.PV_Inverter___Ertrag_total }))
        |> map(fn: (r) => ({ r with verschenkt: r.SmartMeter___Einspeisung_gesamt * r.Strompreis_kWh }))
        |> map(fn: (r) => ({ r with Ersparnis: (r.PV_Inverter___Ertrag_total - r.SmartMeter___Einspeisung_gesamt) * r.Strompreis_kWh }))
      
      

      Gruß und guten Start in die neue Woche
      Marian

      Marc Berg 1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active @T-147 last edited by Marc Berg

        @t-147 sagte in Table mit mehreren Queries - Versatz entfernen:

        Hat jemand eine Idee, wie ich die Spalten jetzt auch vernünftig untereinander bekomme?

        Nicht wirklich schön, aber wenn du sowieso mehrere Einzelqueries brauchst, würde ich einfach eine Spalte "_jahr" pro Query anhängen:

            |> map(fn: (r) => ({ r with _jahr: "2024/25" }))
        

        und die Outer Time series durch eine "Merge series/tables" Transformation ersetzen, sowie die _time Spalte ausblenden.

        T 1 Reply Last reply Reply Quote 0
        • T
          T-147 @Marc Berg last edited by

          @marc-berg
          Danke für den Tip, das werd ich mal ausprobieren.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          928
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

          2
          3
          68
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo