Splunk Search

How to compare last value with the second last value?

ariyazudeen
New Member

Say I have a column with 5 records in it
88
22
67
44
55

I want to compare the last record 55 with that of second last value and want to write whether the value was 'greater' or 'smaller' in the output.

In above case 55 was greater so my output should say GREATER. Do we have any command to accomplish this?

Tags (1)
0 Karma

knielsen
Contributor

Maybe a combination of tail and delta? Assuming the fieldname of the column was "val":

| inputlookup test.csv | tail 2 | delta val as delta | eval output=case(delta<0,"GREATER",delta>0,"LESSER",true(),"EQUAL") | fields output | tail 1

Hth,
Kai.

edit: damn, 32secs late... 😉

ariyazudeen
New Member

Can you explain how this above query works. It is working but I'm not sure how if you compare (output=case(delta<0,"GREATER",delta>0,"LESSER",true(),"EQUAL") with Zero value it is giving the desire result.

0 Karma

ariyazudeen
New Member

I got it now. Thanks 🙂

0 Karma

sundareshr
Legend

Try this

base search | tail 2 | delta field as difference | eval greater=if(difference>0, "Yes", "no")

*OR*

base search | delta field as difference | reverse | eval greater=if(difference>0, "Yes", "no")
Get Updates on the Splunk Community!

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...

Splunk Enterprise Security 8.x: The Essential Upgrade for Threat Detection, ...

Watch On Demand the Tech Talk on November 6 at 11AM PT, and empower your SOC to reach new heights! Duration: ...

Splunk Observability as Code: From Zero to Dashboard

For the details on what Self-Service Observability and Observability as Code is, we have some awesome content ...