Splunk Search
Highlighted

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

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
Highlighted

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

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

Highlighted

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

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
Highlighted

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

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
Highlighted

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

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
Highlighted

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

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
Speak Up for Splunk Careers!

We want to better understand the impact Splunk experience and expertise has has on individuals' careers, and help highlight the growing demand for Splunk skills.