Splunk Search

How to compare 2 different rows using count?

villnooB
Explorer

Hi guys,

Can you please help me , I am trying to create a query in which it shows if a user is in  a different location in the sameday it will only prioritize one of it. please see below

| convert timeformat="%F %H:%M" ctime(zone) as ctime
| stats count by user fullname country ctime location
| rename fullname as "Name", ctime as DateStamp, location as "Location", user as "NetworkID", country as "Country"
| fields - count
| sort 0 NetworkID

This is what i am getting if I'm using the query above

NetworkID Name Country DateStamp Location
userA A Sample Spain 12-26-2022 Office
userA A Sample Spain 12-27-2022 Office
userA A Sample Spain 12-27-2022 Home

 

and this is what I am trying to get that If it's in the same day it will only Select the office

NetworkID Name Country DateStamp Location
userA A Sample Spain 12-26-2022 Office
userA A Sample Spain 12-27-2022 Office

Thank you in advance

Labels (3)
0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust
| convert timeformat="%F %H:%M" ctime(zone) as ctime
| stats count values(location) as location by user fullname country ctime
| rename fullname as "Name", ctime as DateStamp, location as "Location", user as "NetworkID", country as "Country"
| fields - count
| eval Location=if(isnotnull(mvfind(Location, "Office")), "Office", "Home")
| sort 0 NetworkID

View solution in original post

villnooB
Explorer

@ITWhisperer , @Manasa_401 , @SanjayReddy 

Thank you very much for the help

Manasa_401
Communicator

Hello @villnooB 

After rename, add the below logic


| eventstats count as multiple by DateStamp Name
| eval valid=if(multiple>1 AND Location="Home","NO","YES")
| search valid="YES"
|fields - count multiple valid

If this helps, karma would be appreciated.

Thanks,

Manasa

ITWhisperer
SplunkTrust
SplunkTrust
| convert timeformat="%F %H:%M" ctime(zone) as ctime
| stats count values(location) as location by user fullname country ctime
| rename fullname as "Name", ctime as DateStamp, location as "Location", user as "NetworkID", country as "Country"
| fields - count
| eval Location=if(isnotnull(mvfind(Location, "Office")), "Office", "Home")
| sort 0 NetworkID

villnooB
Explorer

@ITWhisperer 

Thank you very much

0 Karma

SanjayReddy
SplunkTrust
SplunkTrust

Hi @villnooB 

can you try following qurey, highlight lines are are newly added 

| convert timeformat="%F %H:%M" ctime(zone) as ctime
| stats count by user fullname country ctime location
| eval Filter=if(location="Office","Yes","NO")
| search Filter="Yes"
| rename fullname as "Name", ctime as DateStamp, location as "Location", user as "NetworkID", country as "Country"
| fields - count
| sort 0 NetworkID

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!

Observability Simplified: Combining User Experience, Application Performance & ...

Tech Talk Observability Simplified: Combining User Experience, Application Performance & Network ...

Event Series May & June: From Network Visibility to Service Intelligence

Unifying the Network: Moving from Alert Noise to Service Intelligence with Splunk ITSI In today’s hybrid ...

Global Splunk User Group Events: May + June 2026

Your Splunk Community Awaits: Discover Upcoming User Group Events Worldwide    Staying ahead in the fast-paced ...