Splunk Search

Can I do a calculation inside an IF statement's True condition?

khinnway
Engager

I need to find the power consumption of each day using the cumulative power meter reading;
Today's reading - Yesterday's reading = Yesterday's consumption (Diff)

However, the meter reading resets after it reaches 999, 999. Thus, if the meter reading resets, the consumption will appear as a large negative value. To get the correct value, I will have to add 1,000,000 (as 0 is a count as well).

I am very used to C programming and new to Splunk so please forgive me. This is the line I came up with:
eval Diff=if (Diff<0, Diff=Diff+10000000, Diff)

The value of Diff disappears completely for the day that reset occurs. I do realize that calculations are not exactly allowed inside an IF statement, but may I know how to go around it?

Thank you in advance!

0 Karma
1 Solution

renjith_nair
SplunkTrust
SplunkTrust

@khinnway ,

Yes it's possible to do calculation in condition. Please find below a dummy search . The result should be 0

|makeresults|eval Diff=-100|eval Diff=if(Diff<0,Diff+100,Diff)

If still does not work, please share your SPL (mask any confidential data)

Happy Splunking!

View solution in original post

renjith_nair
SplunkTrust
SplunkTrust

@khinnway ,

Yes it's possible to do calculation in condition. Please find below a dummy search . The result should be 0

|makeresults|eval Diff=-100|eval Diff=if(Diff<0,Diff+100,Diff)

If still does not work, please share your SPL (mask any confidential data)

Happy Splunking!

khinnway
Engager

Thank you so much for the help! I really appreciate the fast comment!

Get Updates on the Splunk Community!

This Week's Community Digest - Splunk Community Happenings [9.26.22]

Get the latest news and updates from the Splunk Community here! Upcoming User Group Events! &#x1f44f; Check ...

BSides Splunk 2022 - The Call for Papers is now Open!

TLDR; Main Site: https://bsidessplunk.com CFP Site: https://bsidessplunk.com/cfp CFP Opens: December 15th, ...

Sending Metrics to Splunk Enterprise With the OpenTelemetry Collector

This blog post is part of an ongoing series on OpenTelemetry. The OpenTelemetry project is the second largest ...