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
Legend

@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
Legend

@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!

Announcing Scheduled Export GA for Dashboard Studio

We're excited to announce the general availability of Scheduled Export for Dashboard Studio. Starting in ...

Extending Observability Content to Splunk Cloud

Watch Now!   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to leverage ...

More Control Over Your Monitoring Costs with Archived Metrics GA in US-AWS!

What if there was a way you could keep all the metrics data you need while saving on storage costs?This is now ...