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
Get Updates on the Splunk Community!

Tech Talk Recap | Mastering Threat Hunting

Mastering Threat HuntingDive into the world of threat hunting, exploring the key differences between ...

Observability for AI Applications: Troubleshooting Latency

If you’re working with proprietary company data, you’re probably going to have a locally hosted LLM or many ...

Splunk AI Assistant for SPL vs. ChatGPT: Which One is Better?

In the age of AI, every tool promises to make our lives easier. From summarizing content to writing code, ...