Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Grafana filter measurement alles mit X aber Y ausschließen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Grafana filter measurement alles mit X aber Y ausschließen

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bitwicht last edited by bitwicht

      Hallo.

      Im Grafana habe ich folgenden Filter. Er nimmt alle Werte mit "Strom-SH-GESAMT".
      Ich würde aber gerne einen Wert explizit ausschließen, geht das ?

        |> filter(fn: (r) => r["_measurement"] =~ /Strom-SH-GESAMT/)
      

      Ich dachte vielleicht mit einem drop, aber das geht irgendwie nicht

      |> drop(columns: ["Heizung"])
      
      1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active last edited by

        @bitwicht sagte in Grafana filter measurement alles mit X aber Y ausschließen:

        Ich dachte vielleicht mit einem drop, aber das geht irgendwie nicht
        |> drop(columns: ["Heizung"])

        Ich nehme an, mit "Wert" meinst du "Measurement".

        |> filter(fn: (r) => r["_measurement"] =~ /Strom-SH-GESAMT/ and r["_measurement"] != "MeasurementZumAusschließen")
        
        R 1 Reply Last reply Reply Quote 0
        • R
          rewenode @Marc Berg last edited by

          @marc-berg sagte in Grafana filter measurement alles mit X aber Y ausschließen:

          |> filter(fn: (r) => r["_measurement"] =~ /Strom-SH-GESAMT/ and r["_measurement"] != "MeasurementZumAusschließen")

          Gibt es wirklich denkbare Fälle, wo man sowas brauchen könnte?
          Der Filter filtert doch sowieso nur was er filtern soll. Warum sollte man ihm noch sagen, was er nicht filtern soll?
          Oder habe ich da was falsch verstanden?

          Marc Berg 1 Reply Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @rewenode last edited by

            @rewenode sagte in Grafana filter measurement alles mit X aber Y ausschließen:

            Oder habe ich da was falsch verstanden?

            Ich glaube ja. Wenn du 100 Measurements hast, die im Namen "Strom-SH-GESAMT" haben, kannst du diese mit dem ersten Teil selektieren. Wenn du aber eins von den hundert nicht haben willst, musst du es wieder einschränken, wenn du nicht 99 einzeln benennen willst.

            R B 2 Replies Last reply Reply Quote 0
            • R
              rewenode @Marc Berg last edited by

              @marc-berg sagte in Grafana filter measurement alles mit X aber Y ausschließen:

              die im Namen "Strom-SH-GESAMT"

              =~ /Strom-SH-GESAMT/
              

              Hier ist ja der Filter als regex formuliert.
              Da würde ich sicher den regex so formulieren, dass es exact den String filtert.
              (casesensitive, wortgrenze etc)
              Steh da immer noch auf dem Schlauch.

              Marc Berg 1 Reply Last reply Reply Quote 0
              • Marc Berg
                Marc Berg Most Active @rewenode last edited by Marc Berg

                @rewenode sagte in Grafana filter measurement alles mit X aber Y ausschließen:

                Steh da immer noch auf dem Schlauch.

                Bin mir nicht ganz sicher, aber vielleicht übersiehst du, das bei Flux der regEx Ausdruck durch "/" eingeschlossen werden muss?

                Ansonsten kann man den RegEx sicher auch besser formulieren, sodass man ohne den einzelnen Ausschluss (!=) auskommt.

                R 1 Reply Last reply Reply Quote 0
                • R
                  rewenode @Marc Berg last edited by rewenode

                  @marc-berg sagte in Grafana filter measurement alles mit X aber Y ausschließen:

                  Bin mir nicht ganz sicher, aber vielleicht übersiehst du, das bei Flux der regEx Ausdruck durch "/" eingeschlossen werden muss?

                  Ja, ist so. Deswegen hat mich der != Teil auch irritiert.

                  r["_measurement"] =~ /(node-red\.0\.fems\._sum.*?Energy\b)/)
                  

                  Hatte gestern mal sowas verwendet. Sind zwar keine 100 States die ich da filter, aber dennoch eine echte Erleichterung.
                  Problematisch ist da wirklich die genaue Formulierung. Hab ne weile gebraucht, bis ich gemerkt habe, das ich auch dp's mit ..Energy0 drin hatte.
                  Da ist es manchmal wirklich sicherer Strings mit OR zu verwenden.

                  1 Reply Last reply Reply Quote 0
                  • B
                    bitwicht @Marc Berg last edited by bitwicht

                    @marc-berg said in Grafana filter measurement alles mit X aber Y ausschließen:

                    Ich glaube ja. Wenn du 100 Measurements hast, die im Namen "Strom-SH-GESAMT" haben, kannst du diese mit dem ersten Teil selektieren. Wenn du aber eins von den hundert nicht haben willst, musst du es wieder einschränken, wenn du nicht 99 einzeln benennen willst.

                    Danke Mark.
                    Genau das war auch mein Problem. Ich wollte nur 99 einzeln eingeben sondern einfach alle und einen ausschließen.

                    Noch eine andere Frage die ich in der Anleitung nicht finde.

                    |> range(start: -1mo)
                    

                    Was genau bedeutet -1mo?
                    Der aktuelle Monat oder 30 Tage zurück ?

                    Wenn ich den laufenden Monat oder Jahr haben möchte, kann ich dann -1mo arbeiten oder muss ich mit import "date" arbeiten?

                    Marc Berg 1 Reply Last reply Reply Quote 0
                    • Marc Berg
                      Marc Berg Most Active @bitwicht last edited by

                      @bitwicht sagte in Grafana filter measurement alles mit X aber Y ausschließen:

                      Was genau bedeutet -1mo?
                      Der aktuelle Monat oder 30 Tage zurück ?

                      Dabei geht es um Kalendermonate. Am 08.02. wird also der 08.01. ermittelt und am 29.03., 30.03. und 31.03. der 28.02. (oder 29.02.) und so weiter. Wenn du ganze Monate (oder Jahre) haben willst, dann musst du mit date.truncate(...) arbeiten. Das sorgt dann auch dafür, dass der Zeitraum um 0.00 Uhr (UTC) startet, bzw. 0:00 Uhr lokale Zeit, falls die Timezone angegeben wird.

                      1 Reply Last reply Reply Quote 0
                      • B
                        bitwicht last edited by

                        @Marc-Berg

                        wäre das dann so korrekt:

                        |> range(start: date.truncate(t: now(), unit: 1mo))
                        
                        Marc Berg 1 Reply Last reply Reply Quote 0
                        • Marc Berg
                          Marc Berg Most Active @bitwicht last edited by

                          @bitwicht sagte in Grafana filter measurement alles mit X aber Y ausschließen:

                          wäre das dann so korrekt:

                          Wenn du die Abfrage am 01.02.2024 0:00Uhr starten willst: Ja.

                          1 Reply Last reply Reply Quote 0
                          • B
                            bitwicht last edited by

                            Falls es jemand benötigt, import "date" muss noch hin:

                            import "date"
                            
                            from(bucket: "example-bucket")
                                |> range(start: date.truncate(t: now(), unit: 1mo))
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            798
                            Online

                            31.7k
                            Users

                            79.7k
                            Topics

                            1.3m
                            Posts

                            3
                            12
                            489
                            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