Splunk Search

How to edit my search to reformat columns to rows and rows to columns for my resulting table?

splunker9999
Path Finder

Hi,

I have this search below, which produces results, but need to format these in a report.

index=imdc_w sourcetype="imdp:ITSM:changes"                        
|rename assignment_group as Assignmentgroup, u_chg_plan_impl_startdate as Time u_chg_reject_count as Reject_count ,u_chg_exped as Expedited, u_chg_unauthorized as Unauthorized, u_chg_plan_impl_stopdate as stopdate, closed_at as closeddate 
| where Assignmentgroup != "assignment_group"  
| join type=left Assignmentgroup [  |inputlookup sys_user_group.csv]  
| eval Platform=if(isnull(Platform), "Unknown Platform", Platform) 
| eval Tier=if(isnull(Tier), "L2", Tier) 
|search Tier=* 
| search Platform="*" 
| search Director="*" 
| search Assignmentgroup="*" 
| search VP="*"  
| eval type = if (type="Service Restore Emergency", number, null())   
| eval Reject_count = if(Reject_count>0 AND state="Closed", number, null())  
|eval Expedited=if(Expedited="true",number,null())  
|eval Unsuccessful=if(u_chg_closure_code ="Unsuccessful",number,null()) 
|dedup change_request 
|stats dc(type) as Emergency dc(Reject_count) as Rejected dc(Expedited) as Expedited dc(Unauthorized) as Unauthorized dc(Unsuccessful) as Unsuccessful dc(change_request) as Total  by date_month
|xyseries date_month 

Currently result output:

date_month    Emergency    Rejected    Unauthorized    Unsuccessful
Aug           0            0           2               3
Jul           1            2           2               1

I want to see results in below format:

                 Aug     Jul     Jun
Emergency        0       0       0
Rejected         2       1       0
Unauthorized     0       0       3
Unsuccessful

Can you please help?

THanks

0 Karma
1 Solution

sundareshr
Legend

Try this

index=imdc_w sourcetype="imdp:ITSM:changes"  
| rename assignment_group as Assignmentgroup, u_chg_plan_impl_startdate as Time u_chg_reject_count as Reject_count ,u_chg_exped as Expedited, u_chg_unauthorized as Unauthorized, u_chg_plan_impl_stopdate as stopdate, closed_at as closeddate  
| where Assignmentgroup != "assignment_group" 
| join type=left Assignmentgroup [  |inputlookup sys_user_group.csv] 
| eval Platform=if(isnull(Platform), "Unknown Platform", Platform)  
| eval Tier=if(isnull(Tier), "L2", Tier) 
| search Tier=* 
| search Platform="*" 
| search Director="*" 
| search Assignmentgroup="*" 
| search VP="*"  
| eval type = if (type="Service Restore Emergency", number, null())  
| eval Reject_count = if(Reject_count>0 AND state="Closed", number, null())   
| eval Expedited=if(Expedited="true",number,null())   
| eval Unsuccessful=if(u_chg_closure_code ="Unsuccessful",number,null()) 
| dedup change_request   
| stats dc(type) as Emergency dc(Reject_count) as Rejected dc(Expedited) as Expedited dc(Unauthorized) as Unauthorized dc(Unsuccessful) as Unsuccessful dc(change_request) as Total  by date_month
| untable date_month groups count 
| xyseries groups date_month count

View solution in original post

sundareshr
Legend

Try this

index=imdc_w sourcetype="imdp:ITSM:changes"  
| rename assignment_group as Assignmentgroup, u_chg_plan_impl_startdate as Time u_chg_reject_count as Reject_count ,u_chg_exped as Expedited, u_chg_unauthorized as Unauthorized, u_chg_plan_impl_stopdate as stopdate, closed_at as closeddate  
| where Assignmentgroup != "assignment_group" 
| join type=left Assignmentgroup [  |inputlookup sys_user_group.csv] 
| eval Platform=if(isnull(Platform), "Unknown Platform", Platform)  
| eval Tier=if(isnull(Tier), "L2", Tier) 
| search Tier=* 
| search Platform="*" 
| search Director="*" 
| search Assignmentgroup="*" 
| search VP="*"  
| eval type = if (type="Service Restore Emergency", number, null())  
| eval Reject_count = if(Reject_count>0 AND state="Closed", number, null())   
| eval Expedited=if(Expedited="true",number,null())   
| eval Unsuccessful=if(u_chg_closure_code ="Unsuccessful",number,null()) 
| dedup change_request   
| stats dc(type) as Emergency dc(Reject_count) as Rejected dc(Expedited) as Expedited dc(Unauthorized) as Unauthorized dc(Unsuccessful) as Unsuccessful dc(change_request) as Total  by date_month
| untable date_month groups count 
| xyseries groups date_month count

splunker9999
Path Finder

Hi,

How can I order results by month instead by alphabetical order.

index=imdc_w sourcetype="imdp:ITSM:changes"                        |rename assignment_group as Assignmentgroup, u_chg_plan_impl_startdate as Time u_chg_reject_count as Reject_count ,u_chg_exped as Expedited, u_chg_unauthorized as Unauthorized, u_chg_plan_impl_stopdate as stopdate, closed_at as closeddate                           | where Assignmentgroup != "assignment_group"                     | join type=left Assignmentgroup [  |inputlookup sys_user_group.csv]                | eval Platform=if(isnull(Platform), "Unknown Platform", Platform)                     | eval Tier=if(isnull(Tier), "L2", Tier) |search Tier=*                      | search Platform="*" | search Director="*" | search Assignmentgroup="*" | search VP="Kevin L Murray"                  | eval type = if (type="Service Restore Emergency", number, null())              | eval Reject_count = if(Reject_count>0 AND state="Closed", number, null())                  |eval Expedited=if(Expedited="true",number,null())      |eval Unsuccessful=if(u_chg_closure_code ="Unsuccessful",number,null())       |dedup change_request                   |stats dc(type) as Emergency dc(Reject_count) as Rejected dc(Expedited) as Expedited dc(Unauthorized) as Unauthorized dc(Unsuccessful) as Failed dc(change_request) as "Total   Requested" by date_month|rename date_month as Month|replace august with Aug july with Jul june with Jun may with May april with Apr march with Mar febrauary with Feb january with Jan september with Sep october with October november with Nov december with Dec
| untable Month groups count | xyseries groups Month count|addtotals fieldname=YTD|rename groups as " "
0 Karma

sundareshr
Legend

See if this works

 index=imdc_w sourcetype="imdp:ITSM:changes"                        
| rename assignment_group as Assignmentgroup, u_chg_plan_impl_startdate as Time u_chg_reject_count as Reject_count ,u_chg_exped as Expedited, u_chg_unauthorized as Unauthorized, u_chg_plan_impl_stopdate as stopdate, closed_at as closeddate                           
| where Assignmentgroup != "assignment_group"                     
| join type=left Assignmentgroup
    [  
    | inputlookup sys_user_group.csv]                
| eval Platform=if(isnull(Platform), "Unknown Platform", Platform)                     
| eval Tier=if(isnull(Tier), "L2", Tier) 
| search Tier=*                      
| search Platform="*" 
| search Director="*" 
| search Assignmentgroup="*" 
| search VP="Kevin L Murray"                  
| eval type = if (type="Service Restore Emergency", number, null())              
| eval Reject_count = if(Reject_count>0 AND state="Closed", number, null())                  
| eval Expedited=if(Expedited="true",number,null())      
| eval Unsuccessful=if(u_chg_closure_code ="Unsuccessful",number,null())       
| dedup change_request                   
| eval Month=strftime(_time, "%m-%b%)
| stats dc(type) as Emergency dc(Reject_count) as Rejected dc(Expedited) as Expedited dc(Unauthorized) as Unauthorized dc(Unsuccessful) as Failed dc(change_request) as "Total   Requested" by Month
| untable Month groups count 
| xyseries groups Month count
| addtotals fieldname=YTD
| rename groups as " "
0 Karma

s2_splunk
Splunk Employee
Splunk Employee

You can probably also remove |search Tier=*
| search Platform="*"
because those fields will always have a value, given the prior evals for them.

0 Karma
Get Updates on the Splunk Community!

Threat Hunting Unlocked: How to Uplevel Your Threat Hunting With the PEAK Framework ...

WATCH NOWAs AI starts tackling low level alerts, it's more critical than ever to uplevel your threat hunting ...

Splunk APM: New Product Features + Community Office Hours Recap!

Howdy Splunk Community! Over the past few months, we’ve had a lot going on in the world of Splunk Application ...

Index This | Forward, I’m heavy; backward, I’m not. What am I?

April 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with another ...