Splunk Search

How to apply the predict command with group by for multiple column values in one search ?


I want to apply the predict command on multiple column values with one search.

My table values are like this:

alt text

fetching table by applying timechart on a field which contains numeric values.

Tags (2)


If you have your columns in a 'somecategory' field and the values of the columns in a 'somecount' field that would allow you to do something like

... | timechart sum(somecount) BY somecategory | predict 10357 12745 13317


0 Karma


Sorry, you cannot do that. Predict has no "by" clause, like stats, which makes it impossible to make multiple predictions.


If you really need to, and don't really care for performance, you could use the map command to do something like:

 ... your search resulting in a list IDs (your column names) ... | map [search id=$id$ | timechart something | predict]

The map command will loop all of your column names (I guess they are IDs of something?) and execute predict for each of them. Then it will append the results of each run to the final results. Just remember this has quite the performance impact because you'll be starting a new search for each ID.

As an alternative you might consider user the R app, which is currently only available on github: https://github.com/rfsp/r. This app will allow you to run R commands in Splunk, and R is able to make multiple predictions at a time.

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!