Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana
  5. [GELÖST] Table mit mehreren Queries - Versatz entfernen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[GELÖST] Table mit mehreren Queries - Versatz entfernen

Geplant Angeheftet Gesperrt Verschoben Grafana
4 Beiträge 2 Kommentatoren 297 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Online
    T Online
    T-147
    schrieb am zuletzt editiert von T-147
    #1

    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 BergM 1 Antwort Letzte Antwort
    0
    • T T-147

      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 BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      schrieb am zuletzt editiert von Marc Berg
      #2

      @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.

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      T 2 Antworten Letzte Antwort
      1
      • Marc BergM 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 Online
        T Online
        T-147
        schrieb am zuletzt editiert von
        #3

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

        1 Antwort Letzte Antwort
        0
        • Marc BergM 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 Online
          T Online
          T-147
          schrieb am zuletzt editiert von
          #4

          @marc-berg
          So, Dein Tip mit dem Mapping war gar nicht notwendig.
          Ein einfaches "Merge series/tables" war vollkommen ausreichend und hat mein Problem gelöst. :blush:
          Keine Ahnung, warum mir diese Option vorher gar nciht aufgefallen ist.

          Das Mapping werd ich mir aber mal anderweitig im Kopf behalten, damit kann ich evtl. noch Anzeige verschönern, da ich jetzt nur die Jahreszahl vorne stehen hab, aber mein Abrechnungsjahr ist ja um 3 Monate versetzt und daher ist die Anzeige nicht 100% stimmig. Aber das ist eher ein kosmetisches Problem der kleineren Sorte.

          Besten Dank für die Hilfe! :+1:

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          867

          Online

          32.4k

          Benutzer

          81.5k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe