Splunk Search

How to combine multiple rows into different columns on single row

hpendela
New Member

I have a query that returns the following result.

 

StatusCount
200800
40434
40020
50012

 

And I would like to transform it to something like this

Count(200)Count(404)Count(400) Count(500)
800342012

 

Is this possible? Thanks.

Labels (3)
Tags (1)
0 Karma

bowesmana
SplunkTrust
SplunkTrust

@hpendela 

There are a couple of slightly different ways to do this. The first 

| makeresults
| eval _raw="Status,Count
200,800
404,34
400,20
500,12"
| multikv forceheader=1
| table Status, Count
| eval Count({Status})=Count
| fields - Count
| stats values(Count*) as Count*

Take the last 3 lines, which gives exactly your example.

This is slightly different in that it does not rename the fields as you want, but achieves the same goal.

| makeresults
| eval _raw="Status,Count
200,800
404,34
400,20
500,12"
| multikv forceheader=1
| table Status, Count
| transpose 0 column_name="Count" header_field=Status

Just the last line will do this

or you can add the next two lines to give the exact same

| fields - Count
| foreach * [ rename "<<MATCHSTR>>" as "Count(<<MATCHSTR>>)" ]

Hope this helps

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Preparing your Splunk Environment for OpenSSL3

The Splunk platform will transition to OpenSSL version 3 in a future release. Actions are required to prepare ...

Self-Healing Pipeline Is Now Generally Available: AI-Powered CIM Compliance

Maintaining data integrity across security and analytics pipelines is an ongoing challenge. Data ...

[Puzzles] Solve, Learn, Repeat: Family Trees

This puzzle (first published here is based on finding grandparents and grandchildren (inspired by a question ...