Splunk Search

Can I add text to return value of eval/case?

castle1126
Communicator

I'm writing a search that performs a simple eval:

eval changed = case (NOT address="-",address,NOT city="-",city,NOT state="-",state)

One thing I want to do is add some text value to the returned value of the case, based on which boolean worked. For instance, if the address <> "-" I want to return "Address changed to", followed by the value of the field "address", to the new field named "changed".

Is there a way to get the case statement to return that sort of result?

Tags (1)

Ron_Naken
Splunk Employee
Splunk Employee

You can concatenate your strings right in the case statement. Assuming your EVAL expression is correct, you could do it like this to get the address as you wish:

... | eval changed = case(NOT address="-", "Address changed to " + address, NOT city="-", city, NOT state="-", state)

jrodman
Splunk Employee
Splunk Employee

Sounds like you need to build up more complex logic using if() and so on.

0 Karma

castle1126
Communicator

OK. But not knowing too much on the "if" logic, could you add the text as I am looking for? If so could you give me an example?

0 Karma
Get Updates on the Splunk Community!

Shape the Future of Splunk: Join the Product Research Lab!

Join the Splunk Product Research Lab and connect with us in the Slack channel #product-research-lab to get ...

Auto-Injector for Everything Else: Making OpenTelemetry Truly Universal

You might have seen Splunk’s recent announcement about donating the OpenTelemetry Injector to the ...

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...