I am trying to create a new fields from a multi value fields. Here's an example:
group_id, user_id user_address user_phone_number
a 123 cityA, NY, USA 123-234-345
234 cityBC, NJ, USA 234-345-345
b 567 cityDEF, NY, USA 234-345-456
stats list(user_id), list(user_address), list(user_phone_number) by group_id
user_id, user_address and user_phone_number are multi value fields.
I want to be able to extract state information from user_address to generate a table like this
group_id, user_id state user_phone_number
a 123 NY 123-234-345
234 NJ 234-345-345
b 567 NY 234-345-456
How can I achieve this?
The same way as extracting it from a single value field:
| stats count | fields - count | eval foo = "New York City, NY, USA;Los Angeles, CA, USA" | makemv foo delim=";" | rex field=foo ", (?<state>[A-Z][A-Z]),"
The issue is not the expression, that worked fine. Apparently your Splunk version treats multi-valued fields differently.
Updated with (?
foo state
New York City, NY, USA
Los Angees, CA, USA
Maybe try a different regex?
(?
I see. Over here in 5 it works like a charm.
foo state
New York City, NY, USA NY
Los Angees, CA, USA
CA is not listed
I am using splunk 4.3.1.
What result are you getting when you enter my example query into splunk?
With this query, if I run
stats list(user_id), list(state), list(user_phone_number) by group_id
I will get this:
group_id, user_id state user_phone_number
a 123 NY 123-234-345
234 234-345-345
b 567 NY 234-345-456
Any idea how to get a full list of states?