Splunk Search

Multiple eval of the same field

jlelli
Path Finder

Hi all,
I got some problems categorizing a custom field according to its content; to do so I am using multiple eval IF commands:

| eval Myfield=if(Like(Myfield, "%Windows%"), "Microsoft", Myfield) 
| eval Myfield=if(Like(Myfield, "%iPhone%"), "Apple", Myfield) 
| eval Myfield=if(Like(Myfield, "%Android%"), "Google", Myfield)

With a simple stats count by MyField i got both the number of Microsoft, Apple and Google values and the explicit values for everything else. So far is exactly what I need.

Now I want to expand this query in two ways
1- Including multiple conditions for the same value (to save writing a sigle eval for each case)

| eval Myfield=if(Like(Myfield, "%Windows%" OR "%Office%" OR "%Notepad%"), "Microsoft", Myfield)

2 - Including an "Other" value for everything that is not specified

| eval Myfield=if(NOT Like(Myfield, "%Windows%" OR "%iPhone%" OR "%Android%"), "Other", Myfield)

However neither of two is working: I got some SPL grammar or logic problem that still can't solve...

0 Karma
1 Solution

somesoni2
Revered Legend

This is the classing use case for case command. Try something like this. Also, see how the like expression for multiple matches is done here (which causing SPL issues for you before).

your base search
| eval Myfield=case(like(Myfield, "%Windows%") OR like(Myfield, "%Office%") OR like(Myfield, "%Notepad%"), "Microsoft", like(Myfield, "%iPhone%"), "Apple", like(Myfield, "%Android%"), "Google", true(),"Other")
| stats count by Myfield

View solution in original post

somesoni2
Revered Legend

This is the classing use case for case command. Try something like this. Also, see how the like expression for multiple matches is done here (which causing SPL issues for you before).

your base search
| eval Myfield=case(like(Myfield, "%Windows%") OR like(Myfield, "%Office%") OR like(Myfield, "%Notepad%"), "Microsoft", like(Myfield, "%iPhone%"), "Apple", like(Myfield, "%Android%"), "Google", true(),"Other")
| stats count by Myfield

jlelli
Path Finder

Thank You,
I still misspell some comma here and there but your logic is way simpler and faster to use.

0 Karma
Get Updates on the Splunk Community!

Splunk Enterprise Security(ES) 7.3 is approaching the end of support. Get ready for ...

Hi friends!    At Splunk, your product success is our top priority. With Enterprise Security (ES), we're here ...

Splunk Enterprise Security 8.x: The Essential Upgrade for Threat Detection, ...

Watch On Demand the Tech Talk, and empower your SOC to reach new heights! Duration: 1 hour  Prepare to ...

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...