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!

Built-in Service Level Objectives Management to Bridge the Gap Between Service & ...

Wednesday, May 29, 2024  |  11AM PST / 2PM ESTRegister now and join us to learn more about how you can ...

Get Your Exclusive Splunk Certified Cybersecurity Defense Engineer Certification at ...

We’re excited to announce a new Splunk certification exam being released at .conf24! If you’re headed to Vegas ...

Share Your Ideas & Meet the Lantern team at .Conf! Plus All of This Month’s New ...

Splunk Lantern is Splunk’s customer success center that provides advice from Splunk experts on valuable data ...