Splunk Search
Highlighted

How can i use the append command based on an If condition ?

Hi All,

i have a base search ,with field A ,

If field A >0 , I have to append another search query that returns multi columns.

0 Karma
Highlighted

Re: How can i use the append command based on an If condition ?

Ultra Champion

If the base search is not overly heavy, you could include the base search in the appended subsearch, filter for A>0 in the subsearch and then only return the columns that you actually wanted to add.

So in pseudo code:

base search
| append [ base search | append [ subsearch ] | where A>0 | table subsearchfieldX subsearchfieldY ]

View solution in original post

Highlighted

Re: How can i use the append command based on an If condition ?

Champion

@FrankVl Superb one!
i learnt this append tidbit from you.
(learning and using this append, appendcols are difficult areas, even for many experienced splunk admins)

0 Karma
Highlighted

Re: How can i use the append command based on an If condition ?

Hi @FrankVl ,
It is working. Thanks

0 Karma
Highlighted

Re: How can i use the append command based on an If condition ?

Ultra Champion

Note, the code was just pseudo code. If you really use append like that it will not work, as append adds it as extra lines, so you cannot filter this. It might help if you give a more concrete example of what your search looks like (without the filter).

Something like this works:

| makeresults 
| eval A=1
| table A
| appendcols [ | makeresults | eval A=1 | appendcols [ | makeresults | eval b=1,c=2,d=3 ] | where A>0 | table b,c,d ]

This returns all 4 fields. When running the same example but with A=0, it only returns A:

| makeresults 
| eval A=0
| table A
| appendcols [ | makeresults | eval A=0 | appendcols [ | makeresults | eval b=1,c=2,d=3 ] | where A>0 | table b,c,d ]
0 Karma
Speak Up for Splunk Careers!

We want to better understand the impact Splunk experience and expertise has has on individuals' careers, and help highlight the growing demand for Splunk skills.