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

                        744
                        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