Dashboards & Visualizations

add cumulative line on bar chart

matansocher
Contributor

Hi,

I have a report that shows the number of hours worked for each employee.
Can I add a cumulative line, to show the cumulative for all employees?

The code I am using:

    index=snow dv_state="Clos*" 
    | dedup number 
    | rex field=dv_u_total_time_spent "(?<DAYS>\d+)\s*Day" 
    | rex field=dv_u_total_time_spent "(?<HOURS>\d+)\s*Hour" 
    | rex field=dv_u_total_time_spent "(?<MINS>\d+)\s*Minute" 
    | eval DAYS = if((isnull(DAYS)), 0, tonumber(DAYS)) 
    | eval HOURS = if((isnull(HOURS)), 0, tonumber(HOURS)) 
    | eval MINS = if((isnull(MINS)), 0, tonumber(MINS)) 
    | eval numberOfHours = round(((DAYS*8) + HOURS + (MINS/60)),0)
    | chart sum(numberOfHours) AS "Number Of Hours" by dv_assigned_to
    | sort -"Number Of Hours"

This is the result now:
alt text

I need a line that starts from the left side (ddaniel) in 400, and than moves to 750 (slavag) and so on.
Its not by time, so is this possible to add that cumulative line?

Thanks

0 Karma
1 Solution

HiroshiSatoh
Champion

try this!

<cumulative>

 index=snow dv_state="Clos*" 
     | dedup number 
     | rex field=dv_u_total_time_spent "(?<DAYS>\d+)\s*Day" 
     | rex field=dv_u_total_time_spent "(?<HOURS>\d+)\s*Hour" 
     | rex field=dv_u_total_time_spent "(?<MINS>\d+)\s*Minute" 
     | eval DAYS = if((isnull(DAYS)), 0, tonumber(DAYS)) 
     | eval HOURS = if((isnull(HOURS)), 0, tonumber(HOURS)) 
     | eval MINS = if((isnull(MINS)), 0, tonumber(MINS)) 
     | eval numberOfHours = round(((DAYS*8) + HOURS + (MINS/60)),0)
     | chart sum(numberOfHours) AS "Number Of Hours" by dv_assigned_to
     | sort -"Number Of Hours"
     | accum "Number Of Hours" as cumulative

<total>
|addcoltotals labelfield=dv_assigned_to label=TOTAL

View solution in original post

HiroshiSatoh
Champion

try this!

<cumulative>

 index=snow dv_state="Clos*" 
     | dedup number 
     | rex field=dv_u_total_time_spent "(?<DAYS>\d+)\s*Day" 
     | rex field=dv_u_total_time_spent "(?<HOURS>\d+)\s*Hour" 
     | rex field=dv_u_total_time_spent "(?<MINS>\d+)\s*Minute" 
     | eval DAYS = if((isnull(DAYS)), 0, tonumber(DAYS)) 
     | eval HOURS = if((isnull(HOURS)), 0, tonumber(HOURS)) 
     | eval MINS = if((isnull(MINS)), 0, tonumber(MINS)) 
     | eval numberOfHours = round(((DAYS*8) + HOURS + (MINS/60)),0)
     | chart sum(numberOfHours) AS "Number Of Hours" by dv_assigned_to
     | sort -"Number Of Hours"
     | accum "Number Of Hours" as cumulative

<total>
|addcoltotals labelfield=dv_assigned_to label=TOTAL

matansocher
Contributor

the accum line was what I needed.
Thanks a lot!

0 Karma
Get Updates on the Splunk Community!

Splunk Cloud | Empowering Splunk Administrators with Admin Config Service (ACS)

Greetings, Splunk Cloud Admins and Splunk enthusiasts! The Admin Configuration Service (ACS) team is excited ...

Tech Talk | One Log to Rule Them All

One log to rule them all: how you can centralize your troubleshooting with Splunk logs We know how important ...

Splunk Security Content for Threat Detection & Response, Q1 Roundup

Join Principal Threat Researcher, Michael Haag, as he walks through: An introduction to the Splunk Threat ...