Getting Data In

how to break our comma separated values in results

Dallastek1
Path Finder

Im trying to break out the comma separated values in my results but im brain farting. I want to break out the specific reasons - {New Geo-Location=NEGATIVE, New Device=POSITIVE, New IP=NEGATIVE, New State=NEGATIVE, New Country=NEGATIVE, Velocity=NEGATIVE, New City=NEGATIVE}

index="okta" actor.alternateId="*mydomain*" outcome.reason=*CHALLENGE* client.geographicalContext.country!="" actor.displayName!="Okta System" AND NOT "okta_svc_acct"
| bin _time span=45d
| stats count by outcome.reason, debugContext.debugData.behaviors
| sort -count

outcome.reasondebugContext.debugData.behaviors
Sign-on policy evaluation resulted in CHALLENGE{New Geo-Location=NEGATIVE, New Device=POSITIVE, New IP=NEGATIVE, New State=NEGATIVE, New Country=NEGATIVE, Velocity=NEGATIVE, New City=NEGATIVE}
Sign-on policy evaluation resulted in CHALLENGE{New Geo-Location=NEGATIVE, New Device=NEGATIVE, New IP=NEGATIVE, New State=NEGATIVE, New Country=NEGATIVE, Velocity=NEGATIVE, New City=NEGATIVE}
Sign-on policy evaluation resulted in CHALLENGE{New Geo-Location=NEGATIVE, New Device=POSITIVE, New IP=POSITIVE, New State=NEGATIVE, New Country=NEGATIVE, Velocity=NEGATIVE, New City=NEGATIVE}
Sign-on policy evaluation resulted in CHALLENGE{New Geo-Location=POSITIVE, New Device=POSITIVE, New IP=POSITIVE, New State=NEGATIVE, New Country=NEGATIVE, Velocity=NEGATIVE, New City=POSITIVE}
Sign-on policy evaluation resulted in CHALLENGE{New Geo-Location=NEGATIVE, New Device=NEGATIVE, New IP=POSITIVE, New State=NEGATIVE, New Country=NEGATIVE, Velocity=NEGATIVE, New City=NEGATIVE}
Labels (1)
Tags (1)
0 Karma
1 Solution

richgalloway
SplunkTrust
SplunkTrust

The split function can break up the field for you.

index="okta" actor.alternateId="*mydomain*" outcome.reason=*CHALLENGE* client.geographicalContext.country!="" actor.displayName!="Okta System" AND NOT "okta_svc_acct"
``` The trim function removes the braces from the ends of the field ```
| eval behaviors=split(trim('debugContext.debugData.behaviors', "{}"),",")
| mvexpand behaviors
| bin _time span=45d
| stats count by outcome.reason, behaviors
| sort -count
---
If this reply helps you, Karma would be appreciated.

View solution in original post

Dallastek1
Path Finder

That worked! thanks!

 

richgalloway
SplunkTrust
SplunkTrust

The split function can break up the field for you.

index="okta" actor.alternateId="*mydomain*" outcome.reason=*CHALLENGE* client.geographicalContext.country!="" actor.displayName!="Okta System" AND NOT "okta_svc_acct"
``` The trim function removes the braces from the ends of the field ```
| eval behaviors=split(trim('debugContext.debugData.behaviors', "{}"),",")
| mvexpand behaviors
| bin _time span=45d
| stats count by outcome.reason, behaviors
| sort -count
---
If this reply helps you, Karma would be appreciated.
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Design, Compete, Win: Submit Your Best Splunk Dashboards for a .conf26 Pass

Hello Splunkers,  We’re excited to kick off a Splunk Dashboard contest! We know that dashboards are a primary ...

May 2026 Splunk Expert Sessions: Security & Observability

Level Up Your Operations: May 2026 Splunk Expert Sessions Whether you are refining your security posture or ...

Network to App: Observability Unlocked [May & June Series]

In today’s digital landscape, your environment is no longer confined to the data center. It spans complex ...