Archive

If statement with multiple tests?

Builder

Is it possible to do something like this? It would make my life a whole lot easier if this can be done, or at least something like it...

eval if(((TimeTaken>15) AND ((Termination_Cause=="016") OR (Termination_Cause=="017"))),1,0)

When I try it I get an error stating that the expression is malformed. Any advice is appreciated.

Tags (1)
2 Solutions

Splunk Employee
Splunk Employee

You're not far off

eval foo=if((TimeTaken>15) AND (Termination_Cause=="016" OR Termination_Cause=="017"),1,0)

View solution in original post

Splunk Employee
Splunk Employee

You should probably post your whole search, there are might be some extra parenthesis in there.

Note that eval takes the form:

eval <my_field> = <my_eval_expression>

Also, I think you can use searchmatch() here more efficiently:

eval case=searchmatch("TimeTaken>15 AND (Termination_Cause="16" OR Termination_Cause="17")")

If case=true, then the event matches the condition.

View solution in original post

Splunk Employee
Splunk Employee

You should probably post your whole search, there are might be some extra parenthesis in there.

Note that eval takes the form:

eval <my_field> = <my_eval_expression>

Also, I think you can use searchmatch() here more efficiently:

eval case=searchmatch("TimeTaken>15 AND (Termination_Cause="16" OR Termination_Cause="17")")

If case=true, then the event matches the condition.

View solution in original post

Splunk Employee
Splunk Employee

Please comment when voting down an answer. My answer is perfectly valid.

0 Karma

Splunk Employee
Splunk Employee

You're not far off

eval foo=if((TimeTaken>15) AND (Termination_Cause=="016" OR Termination_Cause=="017"),1,0)

View solution in original post

Builder

This worked, thanks!

0 Karma
State of Splunk Careers

Access the Splunk Careers Report to see real data that shows how Splunk mastery increases your value and job satisfaction.

Find out what your skills are worth!