Dashboards & Visualizations

How to dynamically split a list into equal parts?

HeinzWaescher
Motivator

Hi,

I have a list of customers (ColA) and depending on the total amount of customers I want to "split" the list into equal groups (let's say steps of 10%) and flag these groups.
So having 20 customers and using steps of 10%, the first 2 customers are grouped together and flagged in ColB as 10%. Customers 3-4 are grouped (20%), 5-6 (30%) are grouped etc.

alt text

When this list increases to 100 customers it should group the first 20 customers (10%), 21-40 (20%) and so on.

I'm expecting some form of the streamstats command here, but can't find the solution.

Thanks in advance
Heinz

Tags (1)
0 Karma
1 Solution

sundareshr
Legend

Try this runanywhere sample

| gentimes start=-200 | streamstats count | eval x="col_".count | table x | eventstats count as tot_evt | eval grp_cnt=.1 | eval grp=tot_evt*grp_cnt | streamstats count | eval grp=ceiling(count/grp)

View solution in original post

sundareshr
Legend

Try this runanywhere sample

| gentimes start=-200 | streamstats count | eval x="col_".count | table x | eventstats count as tot_evt | eval grp_cnt=.1 | eval grp=tot_evt*grp_cnt | streamstats count | eval grp=ceiling(count/grp)

HeinzWaescher
Motivator

Combining streamstats & eventstats was the right way to go, thanks!

0 Karma
Get Updates on the Splunk Community!

Building Reliable Asset and Identity Frameworks in Splunk ES

 Accurate asset and identity resolution is the backbone of security operations. Without it, alerts are ...

Cloud Monitoring Console - Unlocking Greater Visibility in SVC Usage Reporting

For Splunk Cloud customers, understanding and optimizing Splunk Virtual Compute (SVC) usage and resource ...

Automatic Discovery Part 3: Practical Use Cases

If you’ve enabled Automatic Discovery in your install of the Splunk Distribution of the OpenTelemetry ...