<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to get rows into columns from rows values? in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/613971#M213355</link>
    <description>&lt;P&gt;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/249673"&gt;@siriosus&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have designed some sample searches for you.&lt;/P&gt;&lt;P&gt;for your first scenario please try this.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;YOUR_BASE_SEARCH

| foreach *_* 
    [ eval 
        sg= mvappend(sg,"&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;"),
        sgvalue=mvappend(sgvalue,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;'),
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;)
        ] 
| eval t = mvzip(mvzip(sg,sgvalue),sgapproval)
| stats count by t
| eval sg=mvindex(split(t,","),0),sg_value=mvindex(split(t,","),1),sg_approval=mvindex(split(t,","),2)
| fields - t,count&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My Sample Search :&lt;/STRONG&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults 
| eval _raw="sg1	sg1_approval	sg2	sg2_approval	sg3	sg3_approval
value1	approved	value2	not approved	value3	delayed
value11	approved1	value21	not approved1	value31	delayed1" 
| multikv forceheader=1 
| table sg1 sg1_approval sg2 sg2_approval sg3 sg3_approval 
| rename comment as "upto this is sample data" 

| foreach *_* 
    [ eval 
        sg= mvappend(sg,"&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;"),
        sgvalue=mvappend(sgvalue,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;'),
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;)
        ] 
| eval t = mvzip(mvzip(sg,sgvalue),sgapproval)
| stats count by t
| eval sg=mvindex(split(t,","),0),sg_value=mvindex(split(t,","),1),sg_approval=mvindex(split(t,","),2)
| fields - t,count&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Screen&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2022-09-21 at 11.29.32 PM.png" style="width: 400px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/21591iAC068EF1199E9C35/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2022-09-21 at 11.29.32 PM.png" alt="Screenshot 2022-09-21 at 11.29.32 PM.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For your second scenario&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;YOUR_BASE_SEARCH
| foreach *_a* 
    [ eval 
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;),
        sgnow= mvappend(sgnow,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;_now')
        ] 
| eval t = mvzip(sgapproval,sgnow)
| stats count by t 
| eval sg_approval=mvindex(split(t,","),0),sg_now=mvindex(split(t,","),1)
|stats sum(sg_now) as sg_now by sg_approval&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My Sample Search :&lt;/STRONG&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults 
| eval _raw="sg1	sg1_approval	sg1_now	sg2	sg2_approval	sg2_now	sg3	sg3_now	sg3_approval
value1	approved	4	value2	not approved	2	value3	5	delayed
value2	not approved	3	value3	approved	5	value4	1	approved" 
| multikv forceheader=1 
| table sg1 sg1_approval sg1_now sg2 sg2_approval sg2_now sg3 sg3_approval sg3_now 
| rename comment as "upto this is sample data" 
| foreach *_a* 
    [ eval 
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;),
        sgnow= mvappend(sgnow,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;_now')
        ] 
| eval t = mvzip(sgapproval,sgnow)
| stats count by t 
| eval sg_approval=mvindex(split(t,","),0),sg_now=mvindex(split(t,","),1)
|stats sum(sg_now) as sg_now by sg_approval&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2022-09-21 at 11.31.21 PM.png" style="width: 400px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/21592i91CB8B42CABE280D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2022-09-21 at 11.31.21 PM.png" alt="Screenshot 2022-09-21 at 11.31.21 PM.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this will help you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;BR /&gt;KV&lt;BR /&gt;If any of my replies help you to solve the problem Or gain knowledge, an upvote would be appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 21 Sep 2022 18:01:41 GMT</pubDate>
    <dc:creator>kamlesh_vaghela</dc:creator>
    <dc:date>2022-09-21T18:01:41Z</dc:date>
    <item>
      <title>How to get rows into columns from rows values?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/613962#M213351</link>
      <description>&lt;P&gt;Hello dear Splunk experts!&lt;/P&gt;&lt;P&gt;I've stuck with one search and can't figure how to do this.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Did a lot of searching here on this friendly community but couldn't find the answer despite that saw a lot of similar tasks with solutions.&lt;/P&gt;&lt;P&gt;I have a dataset like this:&lt;/P&gt;&lt;TABLE width="422"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="46"&gt;sg1&lt;/TD&gt;&lt;TD width="108"&gt;sg1_approval&lt;/TD&gt;&lt;TD width="46"&gt;sg2&lt;/TD&gt;&lt;TD width="89"&gt;sg2_approval&lt;/TD&gt;&lt;TD width="46"&gt;sg3&lt;/TD&gt;&lt;TD width="87"&gt;sg3_approval&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;value1&lt;/TD&gt;&lt;TD&gt;approved&lt;/TD&gt;&lt;TD&gt;value2&lt;/TD&gt;&lt;TD&gt;not approved&lt;/TD&gt;&lt;TD&gt;value3&lt;/TD&gt;&lt;TD&gt;delayed&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I want to get something like this:&lt;/P&gt;&lt;TABLE width="240"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="64"&gt;sg&lt;/TD&gt;&lt;TD width="87"&gt;sg_value&lt;/TD&gt;&lt;TD width="89"&gt;sg_approval&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;sg1&lt;/TD&gt;&lt;TD&gt;value1&lt;/TD&gt;&lt;TD&gt;approved&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;sg2&lt;/TD&gt;&lt;TD&gt;value2&lt;/TD&gt;&lt;TD&gt;not approved&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;sg3&lt;/TD&gt;&lt;TD&gt;value3&lt;/TD&gt;&lt;TD&gt;delayed&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What is the best way to achieve this?&lt;/P&gt;&lt;P&gt;I've found some examples around transpose, eval or stats functions but these didn't solve my task completely.&lt;/P&gt;&lt;P&gt;And to add a bit of complexity to this task - how to calculate sum of particular cells in rows with particular values of columns. I have this dataset:&lt;/P&gt;&lt;TABLE width="637"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="46"&gt;sg1&lt;/TD&gt;&lt;TD width="87"&gt;sg1_approval&lt;/TD&gt;&lt;TD width="87"&gt;sg1_now&lt;/TD&gt;&lt;TD width="46"&gt;sg2&lt;/TD&gt;&lt;TD width="89"&gt;sg2_approval&lt;/TD&gt;&lt;TD width="89"&gt;sg2_now&lt;/TD&gt;&lt;TD width="46"&gt;sg3&lt;/TD&gt;&lt;TD width="60"&gt;sg2_now&lt;/TD&gt;&lt;TD width="87"&gt;sg3_approval&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;value1&lt;/TD&gt;&lt;TD&gt;approved&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;value2&lt;/TD&gt;&lt;TD&gt;not approved&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;value3&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;delayed&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;value2&lt;/TD&gt;&lt;TD&gt;not approved&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;value3&lt;/TD&gt;&lt;TD&gt;approved&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;value4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;approved&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And want to extract it as:&lt;/P&gt;&lt;TABLE width="174"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="87"&gt;sg_approval&lt;/TD&gt;&lt;TD width="87"&gt;sg_now&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;approved&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;not approved&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;delayed&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So that sg_now column contains sum of all values in sg1_now, sg2_now and sg3_now sorted by&amp;nbsp;sg1_approval,&amp;nbsp;sg2_approval and&amp;nbsp;sg3_approval.&lt;/P&gt;&lt;P&gt;Thank you very much in advance!&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Wed, 21 Sep 2022 16:44:19 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/613962#M213351</guid>
      <dc:creator>siriosus</dc:creator>
      <dc:date>2022-09-21T16:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to get rows into columns from rows values?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/613971#M213355</link>
      <description>&lt;P&gt;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/249673"&gt;@siriosus&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have designed some sample searches for you.&lt;/P&gt;&lt;P&gt;for your first scenario please try this.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;YOUR_BASE_SEARCH

| foreach *_* 
    [ eval 
        sg= mvappend(sg,"&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;"),
        sgvalue=mvappend(sgvalue,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;'),
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;)
        ] 
| eval t = mvzip(mvzip(sg,sgvalue),sgapproval)
| stats count by t
| eval sg=mvindex(split(t,","),0),sg_value=mvindex(split(t,","),1),sg_approval=mvindex(split(t,","),2)
| fields - t,count&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My Sample Search :&lt;/STRONG&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults 
| eval _raw="sg1	sg1_approval	sg2	sg2_approval	sg3	sg3_approval
value1	approved	value2	not approved	value3	delayed
value11	approved1	value21	not approved1	value31	delayed1" 
| multikv forceheader=1 
| table sg1 sg1_approval sg2 sg2_approval sg3 sg3_approval 
| rename comment as "upto this is sample data" 

| foreach *_* 
    [ eval 
        sg= mvappend(sg,"&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;"),
        sgvalue=mvappend(sgvalue,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;'),
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;)
        ] 
| eval t = mvzip(mvzip(sg,sgvalue),sgapproval)
| stats count by t
| eval sg=mvindex(split(t,","),0),sg_value=mvindex(split(t,","),1),sg_approval=mvindex(split(t,","),2)
| fields - t,count&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Screen&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2022-09-21 at 11.29.32 PM.png" style="width: 400px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/21591iAC068EF1199E9C35/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2022-09-21 at 11.29.32 PM.png" alt="Screenshot 2022-09-21 at 11.29.32 PM.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For your second scenario&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;YOUR_BASE_SEARCH
| foreach *_a* 
    [ eval 
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;),
        sgnow= mvappend(sgnow,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;_now')
        ] 
| eval t = mvzip(sgapproval,sgnow)
| stats count by t 
| eval sg_approval=mvindex(split(t,","),0),sg_now=mvindex(split(t,","),1)
|stats sum(sg_now) as sg_now by sg_approval&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My Sample Search :&lt;/STRONG&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults 
| eval _raw="sg1	sg1_approval	sg1_now	sg2	sg2_approval	sg2_now	sg3	sg3_now	sg3_approval
value1	approved	4	value2	not approved	2	value3	5	delayed
value2	not approved	3	value3	approved	5	value4	1	approved" 
| multikv forceheader=1 
| table sg1 sg1_approval sg1_now sg2 sg2_approval sg2_now sg3 sg3_approval sg3_now 
| rename comment as "upto this is sample data" 
| foreach *_a* 
    [ eval 
        sgapproval= mvappend(sgapproval,&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;),
        sgnow= mvappend(sgnow,'&amp;lt;&amp;lt;MATCHSEG1&amp;gt;&amp;gt;_now')
        ] 
| eval t = mvzip(sgapproval,sgnow)
| stats count by t 
| eval sg_approval=mvindex(split(t,","),0),sg_now=mvindex(split(t,","),1)
|stats sum(sg_now) as sg_now by sg_approval&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2022-09-21 at 11.31.21 PM.png" style="width: 400px;"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/21592i91CB8B42CABE280D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Screenshot 2022-09-21 at 11.31.21 PM.png" alt="Screenshot 2022-09-21 at 11.31.21 PM.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this will help you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;BR /&gt;KV&lt;BR /&gt;If any of my replies help you to solve the problem Or gain knowledge, an upvote would be appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 21 Sep 2022 18:01:41 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/613971#M213355</guid>
      <dc:creator>kamlesh_vaghela</dc:creator>
      <dc:date>2022-09-21T18:01:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to get rows into columns from rows values?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/614015#M213372</link>
      <description>&lt;P&gt;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/127939"&gt;@kamlesh_vaghela&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your efforts in helping with this!&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your examples do exactly what I was trying to achieve.&lt;/P&gt;&lt;P&gt;I'm new to Splunk and see that sky is the limit to SPL searching capabilities and transformations of data it is&amp;nbsp; able to perform, but it requires some practice to master.&lt;/P&gt;&lt;P&gt;Your solution is great instance how exact examples (which are not always presented and obvious in the documentation) can help to understand SPL for newbies.&lt;/P&gt;&lt;P&gt;Thanks again!&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Sep 2022 06:10:22 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/614015#M213372</guid>
      <dc:creator>siriosus</dc:creator>
      <dc:date>2022-09-22T06:10:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to get rows into columns from rows values?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/614025#M213376</link>
      <description>&lt;P&gt;Glad to help you&amp;nbsp;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/249673"&gt;@siriosus&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Happy Splunking&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Sep 2022 06:43:01 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-get-rows-into-columns-from-rows-values/m-p/614025#M213376</guid>
      <dc:creator>kamlesh_vaghela</dc:creator>
      <dc:date>2022-09-22T06:43:01Z</dc:date>
    </item>
  </channel>
</rss>

