Splunk Search

Aggregating by fields when not all events have the same fields

skippylou
Communicator

Trying to figure out how to aggregate with top when there are two field choices.

Here's an example of what I am trying:

Basically I have events that have either field1 OR field2. The events that have field1 also have a field called event1_type, the events that have field2 have a field called event2_type.

So I have the following search: (field1 > 5 OR field2 = 1). This works great. Normally if I was doing a single field search I would then '| top event_type'. Since the events have one of two event_type choices I'm not sure how to aggregate with top the event{1,2}_type values.

Any help is much appreciated.

Scott

Tags (2)
0 Karma
1 Solution

gkanapathy
Splunk Employee
Splunk Employee

I guess I would consider evaling a new field using coalesce():

field1 > 5 OR field2 = 1 | eval e_type=coalesce(event1_type,event2_type) | top e_type

If you're before 4.1, coalesce(x,y) is just if(isnotnull(x),x,y).

View solution in original post

0 Karma

gkanapathy
Splunk Employee
Splunk Employee

I guess I would consider evaling a new field using coalesce():

field1 > 5 OR field2 = 1 | eval e_type=coalesce(event1_type,event2_type) | top e_type

If you're before 4.1, coalesce(x,y) is just if(isnotnull(x),x,y).

0 Karma

skippylou
Communicator

Thanks! That worked perfectly!

0 Karma
Get Updates on the Splunk Community!

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...