Splunk Search

Searching back in time to determine newness (or not) of a value in a given field

JohnR
Engager

Given a field containing a "userId", I want a count per day of unique userIds by "new" vs "returning". E.g. Ends up with this output...

| timechart span=1d dc(userId) by newOrReturning

or I suppose...

| bin _time span=1d
| stats dc(userId) by _time, newOrReturning

A userId is "new" on a given day if there is no record of it from any previous day, going as far back as a known fixed date.

The bit I'm having trouble with is how to set newOrReturning, since (I assume) I need to somehow search back in time for a matching userId from previous days.

Labels (2)
0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust

Try something like this (set time period to be all time or since whatever date you want to consider)

| bin _time span=1d
| eventstats earliest(_time) as firsttime by userid
| eval newOrReturning=if(_time=firsttime,"New","Returning")
| stats dc(userId) by _time, newOrReturning

View solution in original post

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

Try something like this (set time period to be all time or since whatever date you want to consider)

| bin _time span=1d
| eventstats earliest(_time) as firsttime by userid
| eval newOrReturning=if(_time=firsttime,"New","Returning")
| stats dc(userId) by _time, newOrReturning
0 Karma
Get Updates on the Splunk Community!

AppDynamics Summer Webinars

This summer, our mighty AppDynamics team is cooking up some delicious content on YouTube Live to satiate your ...

SOCin’ it to you at Splunk University

Splunk University is expanding its instructor-led learning portfolio with dedicated Security tracks at .conf25 ...

Credit Card Data Protection & PCI Compliance with Splunk Edge Processor

Organizations handling credit card transactions know that PCI DSS compliance is both critical and complex. The ...