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
Revered Legend

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
Revered Legend

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
Revered Legend

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
Revered Legend

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!

More Ways To Control Your Costs With Archived Metrics | Register for Tech Talk

Tuesday, May 14, 2024  |  11AM PT / 2PM ET Register to Attend Join us for this Tech Talk and learn how to ...

.conf24 | Personalize your .conf experience with Learning Paths!

Personalize your .conf24 Experience Learning paths allow you to level up your skill sets and dive deeper ...

Threat Hunting Unlocked: How to Uplevel Your Threat Hunting With the PEAK Framework ...

WATCH NOWAs AI starts tackling low level alerts, it's more critical than ever to uplevel your threat hunting ...