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!

Observability Highlights | November 2022 Newsletter

 November 2022Observability CloudEnd Of Support Extension for SignalFx Smart AgentSplunk is extending the End ...

Avoid Certificate Expiry Issues in Splunk Enterprise with Certificate Assist

This blog post is part 2 of 4 of a series on Splunk Assist. Click the links below to see the other ...

Using Machine Learning for Hunting Security Threats

REGISTER NOW Seeing the exponential hike in global cyber threat spectrum, organizations are now striving more ...