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!

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...