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
Get Updates on the Splunk Community!

Splunk Mobile: Your Brand-New Home Screen

Meet Your New Mobile Hub  Hello Splunk Community!  Staying connected to your data—no matter where you are—is ...

Introducing Value Insights (Beta): Understand the Business Impact your organization ...

Real progress on your strategic priorities starts with knowing the business outcomes your teams are delivering ...

Enterprise Security (ES) Essentials 8.3 is Now GA — Smarter Detections, Faster ...

As of today, Enterprise Security (ES) Essentials 8.3 is now generally available, helping SOC teams simplify ...