<?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 extract field name and field values from multi-value field? in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588333#M204899</link>
    <description>&lt;P&gt;I could swear that I had seen the same question recently but cannot find it. &amp;nbsp;I also do not know an elegant solution. (The ask is really to extract fields from a field of CSV.) &amp;nbsp;So, here we go:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| eval file_content = split(file_content, "
") ``` chop field into lines ```
| eval header = mvindex(file_content, 0)
| eval file_content = mvindex(file_content, 1, -1) ``` get values ```
| mvexpand file_content ``` one value per line ```
| eval _raw = mvzip(split(header, ","), split(file_content, ","), "=") ``` pair headers with values ```
| kv pairdelim="
" kvdelim="="
| fields - _raw file_content header&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;The sample data will give&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;TABLE width="1477px"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="129.3125px"&gt;Clean Messages&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Detected&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Filter&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Filtering&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Messages&lt;/TD&gt;&lt;TD width="40px"&gt;Recipients&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Spam_Detected&lt;/TD&gt;&lt;TD width="143.1875px"&gt;Stopped as Invalid_Recipients&lt;/TD&gt;&lt;TD width="212.90625px"&gt;Stopped_by_Content_Filter&lt;/TD&gt;&lt;TD width="255.984375px"&gt;Stopped_by_Reputation_Filtering&lt;/TD&gt;&lt;TD width="214.671875px"&gt;Total_Attempted_Messages&lt;/TD&gt;&lt;TD width="184.125px"&gt;Total_Threat_Messages&lt;/TD&gt;&lt;TD width="158.109375px"&gt;Virus_Detected&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="129.3125px"&gt;44.0500085644&lt;/TD&gt;&lt;TD width="129.3125px"&gt;45.1350500141&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1.53311465023&lt;/TD&gt;&lt;TD width="129.3125px"&gt;9.28068485506&lt;/TD&gt;&lt;TD width="129.3125px"&gt;55.9499914356&lt;/TD&gt;&lt;TD width="40px"&gt;0.0&lt;/TD&gt;&lt;TD width="129.3125px"&gt;45.1350500141&lt;/TD&gt;&lt;TD width="143.1875px"&gt;0.0&lt;/TD&gt;&lt;TD width="212.90625px"&gt;1.53311465023&lt;/TD&gt;&lt;TD width="255.984375px"&gt;9.28068485506&lt;/TD&gt;&lt;TD width="214.671875px"&gt;--&lt;/TD&gt;&lt;TD width="184.125px"&gt;55.9499914356&lt;/TD&gt;&lt;TD width="158.109375px"&gt;0.00114191624597&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="129.3125px"&gt;1195841&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1225297&lt;/TD&gt;&lt;TD width="129.3125px"&gt;41620&lt;/TD&gt;&lt;TD width="129.3125px"&gt;251946&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1518894&lt;/TD&gt;&lt;TD width="40px"&gt;0&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1225297&lt;/TD&gt;&lt;TD width="143.1875px"&gt;0&lt;/TD&gt;&lt;TD width="212.90625px"&gt;41620&lt;/TD&gt;&lt;TD width="255.984375px"&gt;251946&lt;/TD&gt;&lt;TD width="214.671875px"&gt;2714735&lt;/TD&gt;&lt;TD width="184.125px"&gt;1518894&lt;/TD&gt;&lt;TD width="158.109375px"&gt;31&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 10 Mar 2022 05:34:19 GMT</pubDate>
    <dc:creator>yuanliu</dc:creator>
    <dc:date>2022-03-10T05:34:19Z</dc:date>
    <item>
      <title>How to extract field name and field values from multi-value field?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588324#M204893</link>
      <description>&lt;P&gt;I am indexing email data that Splunk reads from an inbox folder (via TA-mailclient). Those emails contain a csv file that comes as file attachment to the email.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below is an example where the field name of the attachment is &lt;STRONG&gt;file_content&lt;/STRONG&gt; and the field value is below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Stopped by Reputation Filtering,Stopped as Invalid Recipients,Spam Detected,Virus Detected,Stopped by Content Filter,Total Threat Messages,Clean Messages,Total Attempted Messages
9.28068485506,0.0,45.1350500141,0.00114191624597,1.53311465023,55.9499914356,44.0500085644,--
251946,0,1225297,31,41620,1518894,1195841,2714735&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to be able to manipulate the results to look like below:&lt;/P&gt;
&lt;TABLE width="1159"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="200"&gt;Stopped by Reputation Filtering&lt;/TD&gt;
&lt;TD width="185"&gt;Stopped as Invalid Recipients&lt;/TD&gt;
&lt;TD width="99"&gt;Spam Detected&lt;/TD&gt;
&lt;TD width="95"&gt;Virus Detected&lt;/TD&gt;
&lt;TD width="163"&gt;Stopped by Content Filter&lt;/TD&gt;
&lt;TD width="144"&gt;Total Threat Messages&lt;/TD&gt;
&lt;TD width="103"&gt;Clean Messages&lt;/TD&gt;
&lt;TD width="170"&gt;Total Attempted Messages&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9.280684855&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;45.13505001&lt;/TD&gt;
&lt;TD&gt;0.001141916&lt;/TD&gt;
&lt;TD&gt;1.53311465&lt;/TD&gt;
&lt;TD&gt;55.94999144&lt;/TD&gt;
&lt;TD&gt;44.05000856&lt;/TD&gt;
&lt;TD&gt;--&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;251946&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1225297&lt;/TD&gt;
&lt;TD&gt;31&lt;/TD&gt;
&lt;TD&gt;41620&lt;/TD&gt;
&lt;TD&gt;1518894&lt;/TD&gt;
&lt;TD&gt;1195841&lt;/TD&gt;
&lt;TD&gt;2714735&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can someone please advise how to achieve this ?&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2022 05:06:36 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588324#M204893</guid>
      <dc:creator>dm1</dc:creator>
      <dc:date>2022-03-10T05:06:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to extract field name and field values from multi-value field?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588333#M204899</link>
      <description>&lt;P&gt;I could swear that I had seen the same question recently but cannot find it. &amp;nbsp;I also do not know an elegant solution. (The ask is really to extract fields from a field of CSV.) &amp;nbsp;So, here we go:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| eval file_content = split(file_content, "
") ``` chop field into lines ```
| eval header = mvindex(file_content, 0)
| eval file_content = mvindex(file_content, 1, -1) ``` get values ```
| mvexpand file_content ``` one value per line ```
| eval _raw = mvzip(split(header, ","), split(file_content, ","), "=") ``` pair headers with values ```
| kv pairdelim="
" kvdelim="="
| fields - _raw file_content header&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;The sample data will give&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;TABLE width="1477px"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="129.3125px"&gt;Clean Messages&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Detected&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Filter&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Filtering&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Messages&lt;/TD&gt;&lt;TD width="40px"&gt;Recipients&lt;/TD&gt;&lt;TD width="129.3125px"&gt;Spam_Detected&lt;/TD&gt;&lt;TD width="143.1875px"&gt;Stopped as Invalid_Recipients&lt;/TD&gt;&lt;TD width="212.90625px"&gt;Stopped_by_Content_Filter&lt;/TD&gt;&lt;TD width="255.984375px"&gt;Stopped_by_Reputation_Filtering&lt;/TD&gt;&lt;TD width="214.671875px"&gt;Total_Attempted_Messages&lt;/TD&gt;&lt;TD width="184.125px"&gt;Total_Threat_Messages&lt;/TD&gt;&lt;TD width="158.109375px"&gt;Virus_Detected&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="129.3125px"&gt;44.0500085644&lt;/TD&gt;&lt;TD width="129.3125px"&gt;45.1350500141&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1.53311465023&lt;/TD&gt;&lt;TD width="129.3125px"&gt;9.28068485506&lt;/TD&gt;&lt;TD width="129.3125px"&gt;55.9499914356&lt;/TD&gt;&lt;TD width="40px"&gt;0.0&lt;/TD&gt;&lt;TD width="129.3125px"&gt;45.1350500141&lt;/TD&gt;&lt;TD width="143.1875px"&gt;0.0&lt;/TD&gt;&lt;TD width="212.90625px"&gt;1.53311465023&lt;/TD&gt;&lt;TD width="255.984375px"&gt;9.28068485506&lt;/TD&gt;&lt;TD width="214.671875px"&gt;--&lt;/TD&gt;&lt;TD width="184.125px"&gt;55.9499914356&lt;/TD&gt;&lt;TD width="158.109375px"&gt;0.00114191624597&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="129.3125px"&gt;1195841&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1225297&lt;/TD&gt;&lt;TD width="129.3125px"&gt;41620&lt;/TD&gt;&lt;TD width="129.3125px"&gt;251946&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1518894&lt;/TD&gt;&lt;TD width="40px"&gt;0&lt;/TD&gt;&lt;TD width="129.3125px"&gt;1225297&lt;/TD&gt;&lt;TD width="143.1875px"&gt;0&lt;/TD&gt;&lt;TD width="212.90625px"&gt;41620&lt;/TD&gt;&lt;TD width="255.984375px"&gt;251946&lt;/TD&gt;&lt;TD width="214.671875px"&gt;2714735&lt;/TD&gt;&lt;TD width="184.125px"&gt;1518894&lt;/TD&gt;&lt;TD width="158.109375px"&gt;31&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 10 Mar 2022 05:34:19 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588333#M204899</guid>
      <dc:creator>yuanliu</dc:creator>
      <dc:date>2022-03-10T05:34:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to extract field name and field values from multi-value field?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588336#M204900</link>
      <description>&lt;P&gt;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/33901"&gt;@yuanliu&lt;/a&gt;&amp;nbsp;Thanks for your prompt reply.&lt;/P&gt;&lt;P&gt;I am trying to understand your query.&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I fully ran your query, the file_content field and values entirely disappeared. Results were just empty lines.&lt;/P&gt;&lt;P&gt;Then I tried to execute query line by line.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| eval file_content = split(file_content, "") ``` chop field into lines ```&lt;/LI-CODE&gt;&lt;P&gt;1st attempt with the above returned file_content values with each character as single value like,&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;s

t

o

p

p

e

d&lt;/LI-CODE&gt;&lt;P&gt;After I added a "," between double quotes&amp;nbsp;&lt;STRONG&gt;| eval file_content = split(file_content, ",") ``` chop field&lt;/STRONG&gt;&lt;STRONG&gt;&amp;nbsp;lines ```,&amp;nbsp;&lt;/STRONG&gt;it returned each cell value as single value&lt;/P&gt;&lt;P&gt;like&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Stopped by Reputation Filtering
Stopped as Invalid Recipients
etc&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;still figuring out...&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2022 06:38:58 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588336#M204900</guid>
      <dc:creator>dm1</dc:creator>
      <dc:date>2022-03-10T06:38:58Z</dc:date>
    </item>
    <item>
      <title>Re: How to extract field name and field values from multi-value field?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588343#M204902</link>
      <description>&lt;P&gt;As&amp;nbsp;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/33901"&gt;@yuanliu&lt;/a&gt;&amp;nbsp; showed, the split has to be by new line, you have removed this in your search&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| eval file_content = split(file_content, "
") ``` chop field into lines ```&lt;/LI-CODE&gt;&lt;P&gt;This assume that file_content is a single value with new lines delimiting the rows of the csv, not a multi-value field. If it is a multi-value field already, then the split is unnecessary.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2022 07:15:00 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588343#M204902</guid>
      <dc:creator>ITWhisperer</dc:creator>
      <dc:date>2022-03-10T07:15:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to extract field name and field values from multi-value field?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588533#M204987</link>
      <description>&lt;P&gt;&lt;a href="https://community.splunk.com/t5/user/viewprofilepage/user-id/233960"&gt;@dm1&lt;/a&gt;&amp;nbsp;As ITWhisperer explained, the split character is a literal newline, which you can enter in search window by holding down Ctrl (or Mac 'control') key while pressing "Enter" (or Mac 'return'). &amp;nbsp;Similarly, pairdelim is also a literal newline.&lt;/P&gt;&lt;P&gt;The last line removes file_content just to show results more clearly. &amp;nbsp;It is not part of the solution.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Mar 2022 07:19:38 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-extract-field-name-and-field-values-from-multi-value/m-p/588533#M204987</guid>
      <dc:creator>yuanliu</dc:creator>
      <dc:date>2022-03-11T07:19:38Z</dc:date>
    </item>
  </channel>
</rss>

