Hello,
Having trouble understanding lookups. Any help would be appreciated.
If I have a table with ID and User columns and run below it works.
|makeresults
|eval ID="1"
|lookup test.csv ID output User
But if I add a second eval and run:
|makeresults
|eval ID="1"
|eval column="User"
|lookup test.csv ID output column
I get and error "Count not find all of the specified destination fields in the lookup table".
I need to be able to evaluate the column before passing it to the lookup command. Is that possible?
Thanks!
yes, you can define field which you would like look up against field from lookup table. Fields mentioned after output/outputnew are output of matched field.
why do you want to define variable in output?
So it's only possible to use a variable before the output and not after? Anyway around this? Thanks.
The lookup syntax is not correct.
field/column names which are used after output keyword are expected to be in lookup and those field values will be returned if there is any match against the field you specify before output keyword.
The correct syntax is as below:
| lookup <lookup-table-name> <lookup-field1> AS <event-field1>, <lookup-field2> AS <event-field2> OUTPUTNEW <lookup-destfield1> AS <event-destfield1>, <lookup-destfield2> AS <event-destfield2>
https://docs.splunk.com/Documentation/Splunk/8.1.0/SearchReference/Lookup
https://www.youtube.com/watch?v=cwEzgY0lAts