Splunk Search

How to generate a search to display day over day comparison?

ryanprayacn
Explorer
Date    Val Change?
4/13    60            no        
4/12    60          no
4/11    60          yes
4/10    50          no
4/9     50          no

Assuming you have Date and Value, what is the best way to accomplish the Change column? I've seen the TIMEWRAP command, but that seems to be for timechart. I just need the Change column.

0 Karma
1 Solution

somesoni2
SplunkTrust
SplunkTrust

Try like this

your current search giving fields Date and Val
| sort 0 Date 
| delta Val as Change | eval Change=if(isnull(Change) OR Change=0,"no","yes")
| sort 0 -Date

View solution in original post

ryanprayacn
Explorer

Thanks. Are you able to do something similar for string comparisons? For example, assume you have Date and Value columns, but want the Change, Old Value, and New Value.

Date Value Change Old Value New Value
4/13 xyz no

4/12 xyz no
4/11 xyz yes abc xyz
4/10 abc no
4/9 abc no

0 Karma

somesoni2
SplunkTrust
SplunkTrust

The delta command works for numeric values. So if you want to compare a string field, you would need to use streamstats command, like this( assuming the Val field now contains string)

your current search giving fields Date and Val
 | sort 0 Date 
 | streamstats current=f window=1 values(Val) as Change | eval Change=if(isnull(Change) OR Change=Val,"no","yes")
 | sort 0 -Date 
0 Karma

ryanprayacn
Explorer

Thanks this works. If you wanted to show the Old Value also, would you just use the where command Change="yes" and how would you show Old Value (yesterday's value) on the same line?

0 Karma

somesoni2
SplunkTrust
SplunkTrust

To retain the old values, we need to use a different field name in streamstats (and where clause). Like this

 your current search giving fields Date and Val
  | sort 0 Date 
  | streamstats current=f window=1 values(Val) as OldVal | eval Change=if(isnull(OldVal) OR OldVal=Val,"no","yes")
  | sort 0 -Date | fillnull value="Not Applicable" OldVal
0 Karma

somesoni2
SplunkTrust
SplunkTrust

Try like this

your current search giving fields Date and Val
| sort 0 Date 
| delta Val as Change | eval Change=if(isnull(Change) OR Change=0,"no","yes")
| sort 0 -Date
Get Updates on the Splunk Community!

Welcome to the Splunk Community!

(view in My Videos) We're so glad you're here! The Splunk Community is place to connect, learn, give back, and ...

Tech Talk | Elevating Digital Service Excellence: The Synergy of Splunk RUM & APM

Elevating Digital Service Excellence: The Synergy of Real User Monitoring and Application Performance ...

Adoption of RUM and APM at Splunk

    Unleash the power of Splunk Observability   Watch Now In this can't miss Tech Talk! The Splunk Growth ...