Splunk Search

I have been trying to use the CASE function in splunk, but my results are not correct

NanSplk01
Communicator

This is my search.  I brings back Not Known for every field instead of the correct case name:

index=websphere websphere_logEventType=*
| stats count(websphere_logEventType) BY websphere_logEventType
| eval websphere_logEventType=case(websphere_logEventType=I, "INFO",websphere_logEventType=E, "ERROR", websphere_logEventType=W, "WARNING", websphere_logEventType=D, DEBUG, true(),"Not Known" )

 

What am I missing that will bring the count and the case that the count is for instead of always the Not Known case?

Labels (3)
Tags (1)
0 Karma
1 Solution

NanSplk01
Communicator

Thanks, I used a similar configuration and now it works.  I had to use the == rather than the =

index=websphere websphere_logEventType=*
| stats count(websphere_logEventType) BY websphere_logEventType
| eval websphere_logEventType=case(websphere_logEventType=="I", "INFO",websphere_logEventType=="E", "ERROR", websphere_logEventType=="W", "WARNING", websphere_logEventType=="D", DEBUG, true(),"Not Known" )
| dedup websphere_logEventType

View solution in original post

ITWhisperer
SplunkTrust
SplunkTrust

Assuming websphere_logEventType is a string, try something like this

| eval websphere_logEventType=case(websphere_logEventType="I", "INFO",websphere_logEventType="E", "ERROR", websphere_logEventType="W", "WARNING", websphere_logEventType="D", "DEBUG", true(),"Not Known" )

Otherwise, I, E, W and D are treated as field names (which don't appear to exist, hence the case evaluates to "Not Known")

0 Karma

sainag_splunk
Splunk Employee
Splunk Employee

Hey @NanSplk01 try 

... | eval websphere_logEventType=case(websphere_logEventType=I, "INFO", websphere_logEventType=E, "ERROR", websphere_logEventType=W, "WARNING", websphere_logEventType=D, "DEBUG", 1=1, "Not Known")






If this Helps, Please Upvote.

If this helps, Upvote!!!!
Together we make the Splunk Community stronger 
0 Karma

NanSplk01
Communicator

Thanks, I used a similar configuration and now it works.  I had to use the == rather than the =

index=websphere websphere_logEventType=*
| stats count(websphere_logEventType) BY websphere_logEventType
| eval websphere_logEventType=case(websphere_logEventType=="I", "INFO",websphere_logEventType=="E", "ERROR", websphere_logEventType=="W", "WARNING", websphere_logEventType=="D", DEBUG, true(),"Not Known" )
| dedup websphere_logEventType
Get Updates on the Splunk Community!

Index This | Why did the turkey cross the road?

November 2025 Edition  Hayyy Splunk Education Enthusiasts and the Eternally Curious!   We’re back with this ...

Enter the Agentic Era with Splunk AI Assistant for SPL 1.4

  🚀 Your data just got a serious AI upgrade — are you ready? Say hello to the Agentic Era with the ...

Feel the Splunk Love: Real Stories from Real Customers

Hello Splunk Community,    What’s the best part of hearing how our customers use Splunk? Easy: the positive ...