Splunk Search

How to properly evaluate integer list from inputlookup subsearch?

oneillryan93
New Member

I'm attempting to use a subsearch to extract a number of integers in order to transpose those integers as columns. Here is the code for the subsearch:

|eval thing=[| inputlookup lookup.csv
| stats values(tests) by tests
| sort 15 -tests
| stats values(tests) as str
| return $str]

The search run by itself returns something like "123 124 125 126 127...", so I'm confused why when I run it as a subsearch it returns:

"Error in 'eval' command: The expression is malformed."

I've tried following some similar examples I've seen here, but I can't seem to find anything that works for me.
Thanks.

Tags (1)
0 Karma

somesoni2
Revered Legend

The return command, by default, returns only the single value from first row of specified field (as string). The field 'str' in your subsearch is a multivalued field and thus causes issue in eval. Assuming you want to return list of all 15 'tests' values in a space-delimited string and save it to field 'thing', try something like this

...|eval thing=[| inputlookup lookup.csv | stats values(tests) by tests | sort 15 -tests | stats values(tests) as str | nomv str | eval str="\"".str."\"" | return $str]

The nomv command changes 'str' to a single valued field and next eval will add double qoutes around values as it'll be a space delimited string.

0 Karma
Get Updates on the Splunk Community!

Building Reliable Asset and Identity Frameworks in Splunk ES

 Accurate asset and identity resolution is the backbone of security operations. Without it, alerts are ...

Cloud Monitoring Console - Unlocking Greater Visibility in SVC Usage Reporting

For Splunk Cloud customers, understanding and optimizing Splunk Virtual Compute (SVC) usage and resource ...

Automatic Discovery Part 3: Practical Use Cases

If you’ve enabled Automatic Discovery in your install of the Splunk Distribution of the OpenTelemetry ...