Splunk Search

can we take the sum of numbers in a field using eval ??

rakesh_498115
Motivator

Hi

i have a field say A with values as below.

A

10
20
30

i have used the eval function like this .. eval RES= ( sum(A)/mvcount(A)) . but it didnt work ?? i need to take the avg of these values .. how can i do it using eval without using stats avg function ...

Tags (1)
0 Karma

sowings
Splunk Employee
Splunk Employee

Note that an eval only works on fields in a single event. That means that unless field A is multi-value in a single event, something like mvcount(A) will only ever be one (1). If you use eventstats as described below, then the total (or other values) can be carried per event, and would then be in play for an eval statement.

0 Karma

reed_kelly
Contributor

I think you are trying to avoid aggregation while still computing aggregate fields. Use the eventstats command to get the best of both worlds:

|eventstats avg(A) as average_A

This adds an average_A field to every result.

0 Karma

reed_kelly
Contributor

By the way, if you still want to use eval, you can combine the two:

|eventstats sum(A) as suma, count |eval avgA = suma/count

0 Karma

sdaniels
Splunk Employee
Splunk Employee

why do you need to do it without using stats?

0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.
Get Updates on the Splunk Community!

Tech Talk Recap | Mastering Threat Hunting

Mastering Threat HuntingDive into the world of threat hunting, exploring the key differences between ...

Observability for AI Applications: Troubleshooting Latency

If you’re working with proprietary company data, you’re probably going to have a locally hosted LLM or many ...

Splunk AI Assistant for SPL vs. ChatGPT: Which One is Better?

In the age of AI, every tool promises to make our lives easier. From summarizing content to writing code, ...