Splunk Search

Why doesn't the the eval- subtraction generates results from two extracted values?

Felix82
Explorer

Hey Splunk- community,

theres another problem which must solved again. The following query....

index=machinedata_w05_sum app=StörungenPulveranlagen "Linie 1" earliest=@d latest=now
| where Arbeitsplatz="Arbeitsplatz Pulveranlagen" OR Arbeitsplatz="Arbeitsplatz Einhängen" OR Arbeitsplatz="Arbeitsplatz Aushängen"
| transaction startswith="kommend" endswith="gehend"
| eval Arbeitsbeginn="5:30:00"
| eval Arbeitsbeginn_unix=strptime(Arbeitsbeginn, "%H:%M:%S")
| eval Störzahl=mvcount(Störung)
| search Störzahl!=2
| multireport
    [ stats first(Arbeitsbeginn_unix) AS Arbeitsbeginn_unix]
    [ stats sum(duration) AS "Stördauer_gesamt"]
    [ search Störung="Schichtende" OR Störung="Pause"
    | stats sum(duration) AS "Pausendauer"]
| eval Stördauer=Stördauer_gesamt-Pausendauer
| eval Arbeitszeit=now()-Arbeitsbeginn_unix-Pausendauer
| eval Verfügbarkeit=round((Arbeitszeit-Stördauer)/(Arbeitszeit)*100 , 1)
| table Stördauer_gesamt Pausendauer Arbeitsbeginn_unix Arbeitszeit Verfügbarkeit Stördauer

...doesn't want to calculate any fields after "| multireport ... ]". I tested  Stördauer="Stördauer_gesamt"-"Pausendauer"; Stördauer='Stördauer_gesamt'-'Pausendauer'; Stördauer=tonumber(Stördauer_gesamt)-tonumber(Pausendauer).... Nothing works. I wonder because all previous and used fields have values:

Screenshot 2021-08-27 11.45.10.png

Does sombody have an idea where's the problem?

Thanks in advance and kind regards
Felix

Labels (3)
0 Karma
1 Solution

Felix82
Explorer

The problem is already solved! The calculation needs all results in one row...

...
| multireport
     [ stats first(Arbeitsbeginn_unix) AS Arbeitsbeginn_unix]
     [ stats sum(duration) AS "Stördauer_gesamt"]
     [ search Störung="Schichtende" OR Störung="Pause"
| stats sum(duration) AS "Pausendauer"]
| filldown
| reverse
| filldown
| eval Stördauer=Stördauer_gesamt-Pausendauer
| eval Arbeitszeit=now()-Arbeitsbeginn_unix-Pausendauer
| eval Verfügbarkeit=round((Arbeitszeit-Stördauer)/(Arbeitszeit)*100 , 1)
| table Stördauer_gesamt Pausendauer Arbeitsbeginn_unix Arbeitszeit Verfügbarkeit Stördauer
| head 1
| fields Verfügbarkeit

Wish a nice weekend,
Felix

View solution in original post

0 Karma

Felix82
Explorer

The problem is already solved! The calculation needs all results in one row...

...
| multireport
     [ stats first(Arbeitsbeginn_unix) AS Arbeitsbeginn_unix]
     [ stats sum(duration) AS "Stördauer_gesamt"]
     [ search Störung="Schichtende" OR Störung="Pause"
| stats sum(duration) AS "Pausendauer"]
| filldown
| reverse
| filldown
| eval Stördauer=Stördauer_gesamt-Pausendauer
| eval Arbeitszeit=now()-Arbeitsbeginn_unix-Pausendauer
| eval Verfügbarkeit=round((Arbeitszeit-Stördauer)/(Arbeitszeit)*100 , 1)
| table Stördauer_gesamt Pausendauer Arbeitsbeginn_unix Arbeitszeit Verfügbarkeit Stördauer
| head 1
| fields Verfügbarkeit

Wish a nice weekend,
Felix

0 Karma
Get Updates on the Splunk Community!

September Community Champions: A Shoutout to Our Contributors!

As we close the books on another fantastic month, we want to take a moment to celebrate the people who are the ...

Splunk Decoded: Service Maps vs Service Analyzer Tree View vs Flow Maps

It’s Monday morning, and your phone is buzzing with alert escalations – your customer-facing portal is running ...

What’s New in Splunk Observability – September 2025

What's NewWe are excited to announce the latest enhancements to Splunk Observability, designed to help ITOps ...