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!

Fastest way to demo Observability

I’ve been having a lot of fun learning about Kubernetes and Observability. I set myself an interesting ...

September Community Champions: A Shoutout to Our Contributors!

As we close the books on another fantastic month, we want to take a moment to celebrate the people who are the ...

Splunk Decoded: Service Maps vs Service Analyzer Tree View vs Flow Maps

It’s Monday morning, and your phone is buzzing with alert escalations – your customer-facing portal is running ...