<?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 sort multi-value fields in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/How-to-sort-this-multi-value-fields-based-on-the-latest/m-p/587530#M204615</link>
    <description>&lt;P&gt;ITWhisperer expresses exactly how I see the problem. &amp;nbsp;It is so much cleaner (and easier) to fix the multivalue order in the search that produces values as opposed to tweak display after mixed up values.&lt;/P&gt;&lt;P&gt;This said, you can use a combination of&amp;nbsp;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvmap.28X.2CY.29" target="_blank" rel="noopener"&gt;mvmap&lt;/A&gt;, &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvzip.28X.2CY.2C.22Z.22.29" target="_blank" rel="noopener"&gt;mvzip&lt;/A&gt;, &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvsort.28X.29" target="_self"&gt;mvsort&lt;/A&gt;, and &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#split.28X.2C.22Y.22.29" target="_blank" rel="noopener"&gt;split&lt;/A&gt; to get what you wanted. &amp;nbsp;I'll present two versions, one specific, one generic.&lt;/P&gt;&lt;P&gt;If you are certain that database_* is already correct, this slightly simpler filter helps to illustrate how the thought process goes:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults
| eval hostname = "server101"
| eval id = "123|124"
| eval database_timestamp = "Mar 03, 2022 12:59:46 PM|Feb 23, 2022 1:19:24 PM"
| eval database_status = "Online|Offline (30 days ago)"
| eval server_timestamp = "Feb 22, 2022 1:19:24 PM|Mar 01, 2022 12:59:46 PM"
| eval server_status = "Offline (31 days ago)|Online"
| fields hostname id database_timestamp database_status server_timestamp server_status
| makemv delim="|" database_timestamp
| makemv delim="|" database_status
| makemv delim="|" server_timestamp
| makemv delim="|" server_status
| makemv delim="|" id
``` below is multivalue manipulation ```
| eval server_lag=mvmap(server_timestamp, now()-strptime(server_timestamp, "%b %d, %Y %I:%M:%S %p")) ``` establish reverse time sequence ```
| eval server_status=mvzip(server_lag, mvzip(server_timestamp, server_status, "|"), "|") ``` zip affected fields with server_lag ```
| eval server_status=mvsort(server_status) ``` sort by reverse time using server_lag ```
| eval server_timestamp=mvmap(server_status, mvindex(split(server_status, "|"), 1)) ``` extract timestamp field from zip ```
| eval server_status=mvmap(server_status, mvindex(split(server_status, "|"), 2)) ``` extract status field from zip ```
| fields - server_lag&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A more general approach is to use &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Foreach" target="_blank" rel="noopener"&gt;foreach&lt;/A&gt; to reorder all fields that may fall into disorder.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults
| eval hostname = "server101"
| eval id = "123|124"
| eval database_timestamp = "Mar 03, 2022 12:59:46 PM|Feb 23, 2022 1:19:24 PM"
| eval database_status = "Online|Offline (30 days ago)"
| eval server_timestamp = "Feb 22, 2022 1:19:24 PM|Mar 01, 2022 12:59:46 PM"
| eval server_status = "Offline (31 days ago)|Online"
| fields hostname id database_timestamp database_status server_timestamp server_status
| makemv delim="|" database_timestamp
| makemv delim="|" database_status
| makemv delim="|" server_timestamp
| makemv delim="|" server_status
| makemv delim="|" id

``` below is multivalue manipulation ```
| foreach *_status ``` iterate through all fields that may fall into disorder ```
    [eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_lag=mvmap(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp, now()-strptime(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp, "%b %d, %Y %I:%M:%S %p")) ``` establish reverse time sequence ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status=mvzip(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_lag, mvzip(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp, &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, "|"), "|") ``` zip affected fields with server_lag ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status=mvsort(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status) ``` sort by reverse time using server_lag ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp=mvmap(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, mvindex(split(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, "|"), 1)) ``` retrieve timestamp field from zip ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status=mvmap(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, mvindex(split(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, "|"), 2)) ``` retrieve status field from zip ```
    ]
| fields - *_lag&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;With sample data, the output is&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;hostname&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;id&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;database_timestamp&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;database_status&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;server_timestamp&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;server_status&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;_time&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;server101&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;123&lt;/DIV&gt;&lt;DIV class=""&gt;124&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Mar 03, 2022 12:59:46 PM&lt;/DIV&gt;&lt;DIV class=""&gt;Feb 23, 2022 1:19:24 PM&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Online&lt;/DIV&gt;&lt;DIV class=""&gt;Offline (30 days ago)&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Mar 01, 2022 12:59:46 PM&lt;/DIV&gt;&lt;DIV class=""&gt;Feb 22, 2022 1:19:24 PM&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Online&lt;/DIV&gt;&lt;DIV class=""&gt;Offline (31 days ago)&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;2022-03-03 20:36:28&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As you can see, the "solution" is bend-over manipulation. &amp;nbsp;Back to ITWhisperer's point: It is better to fix the data problem than to manipulate display. &amp;nbsp;For example, the above manipulations do not include "id" field. &amp;nbsp;There has to be some relationship between values of id and the rest. &amp;nbsp;Why is the first id smaller?&lt;/P&gt;</description>
    <pubDate>Thu, 03 Mar 2022 20:47:50 GMT</pubDate>
    <dc:creator>yuanliu</dc:creator>
    <dc:date>2022-03-03T20:47:50Z</dc:date>
    <item>
      <title>How to sort this multi-value fields based on the latest timestamp and status?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-sort-this-multi-value-fields-based-on-the-latest/m-p/587479#M204593</link>
      <description>&lt;P&gt;Hi Splunkers,&lt;/P&gt;
&lt;P&gt;I need help on how to sort this multi-value fields based on the latest timestamp and status.&lt;/P&gt;
&lt;P&gt;Here's my dummy query for this.&lt;BR /&gt;&lt;BR /&gt;| makeresults&lt;BR /&gt;| eval hostname = "server101"&lt;BR /&gt;| eval id = "123|124"&lt;BR /&gt;| eval database_timestamp = "Mar 03, 2022 12:59:46 PM|Feb 23, 2022 1:19:24 PM"&lt;BR /&gt;| eval database_status = "Online|Offline (30 days ago)"&lt;BR /&gt;| eval server_timestamp = "Feb 22, 2022 1:19:24 PM|Mar 01, 2022 12:59:46 PM"&lt;BR /&gt;| eval server_status = "Offline (31 days ago)|Online"&lt;BR /&gt;| fields hostname id database_timestamp database_status server_timestamp server_status&lt;BR /&gt;| makemv delim="|" database_timestamp&lt;BR /&gt;| makemv delim="|" database_status&lt;BR /&gt;| makemv delim="|" server_timestamp&lt;BR /&gt;| makemv delim="|" server_status&lt;BR /&gt;| makemv delim="|" id&lt;/P&gt;
&lt;P&gt;Below is the sample output and expected output.&lt;/P&gt;
&lt;TABLE border="1" width="726px" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;Current Output:&lt;/TD&gt;
&lt;TD width="165.1px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="132.163px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="162.387px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="143.375px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="165.1px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="132.163px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="162.387px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="143.375px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;hostname&lt;/TD&gt;
&lt;TD width="165.1px"&gt;database_timestamp&lt;/TD&gt;
&lt;TD width="132.163px"&gt;database_status&lt;/TD&gt;
&lt;TD width="162.387px"&gt;server_timestamp&lt;/TD&gt;
&lt;TD width="143.375px"&gt;server_timestamp&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;server101&lt;/TD&gt;
&lt;TD width="165.1px"&gt;Mar 03, 2022 12:59:46 PM&lt;BR /&gt;Feb 23, 2022 1:19:24 PM&lt;/TD&gt;
&lt;TD width="132.163px"&gt;Online&lt;BR /&gt;Offline (30 days ago)&lt;/TD&gt;
&lt;TD width="162.387px"&gt;Feb 22, 2022 1:19:24 PM&lt;BR /&gt;Mar 01, 2022 12:59:46 PM&lt;/TD&gt;
&lt;TD width="143.375px"&gt;Offline (31 days ago)&lt;BR /&gt;Online&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="165.1px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="132.163px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="162.387px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="143.375px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;Expected Output:&lt;/TD&gt;
&lt;TD width="165.1px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="132.163px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="162.387px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="143.375px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="165.1px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="132.163px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="162.387px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="143.375px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;hostname&lt;/TD&gt;
&lt;TD width="165.1px"&gt;database_timestamp&lt;/TD&gt;
&lt;TD width="132.163px"&gt;database_status&lt;/TD&gt;
&lt;TD width="162.387px"&gt;&lt;FONT color="#0000FF"&gt;server_timestamp&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="143.375px"&gt;&lt;FONT color="#0000FF"&gt;server_status&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="121.975px"&gt;server101&lt;/TD&gt;
&lt;TD width="165.1px"&gt;Mar 03, 2022 12:59:46 PM&lt;BR /&gt;Feb 23, 2022 1:19:24 PM&lt;/TD&gt;
&lt;TD width="132.163px"&gt;Online&lt;BR /&gt;Offline (30 days ago)&lt;/TD&gt;
&lt;TD width="162.387px"&gt;&lt;FONT color="#0000FF"&gt;Mar 01, 2022 12:59:46 PM &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;Feb 22, 2022 1:19:24 PM&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width="143.375px"&gt;&lt;FONT color="#0000FF"&gt;Online &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;Offline (31 days ago)&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Mar 2022 20:54:23 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-sort-this-multi-value-fields-based-on-the-latest/m-p/587479#M204593</guid>
      <dc:creator>kelz</dc:creator>
      <dc:date>2022-03-03T20:54:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to sort multi-value fields</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-sort-this-multi-value-fields-based-on-the-latest/m-p/587506#M204605</link>
      <description>&lt;P&gt;Rather than sorting them after they have been added to multivalue fields, can you sort them beforehand?&lt;/P&gt;</description>
      <pubDate>Thu, 03 Mar 2022 17:54:32 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-sort-this-multi-value-fields-based-on-the-latest/m-p/587506#M204605</guid>
      <dc:creator>ITWhisperer</dc:creator>
      <dc:date>2022-03-03T17:54:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to sort multi-value fields</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-sort-this-multi-value-fields-based-on-the-latest/m-p/587530#M204615</link>
      <description>&lt;P&gt;ITWhisperer expresses exactly how I see the problem. &amp;nbsp;It is so much cleaner (and easier) to fix the multivalue order in the search that produces values as opposed to tweak display after mixed up values.&lt;/P&gt;&lt;P&gt;This said, you can use a combination of&amp;nbsp;&lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvmap.28X.2CY.29" target="_blank" rel="noopener"&gt;mvmap&lt;/A&gt;, &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvzip.28X.2CY.2C.22Z.22.29" target="_blank" rel="noopener"&gt;mvzip&lt;/A&gt;, &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#mvsort.28X.29" target="_self"&gt;mvsort&lt;/A&gt;, and &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions#split.28X.2C.22Y.22.29" target="_blank" rel="noopener"&gt;split&lt;/A&gt; to get what you wanted. &amp;nbsp;I'll present two versions, one specific, one generic.&lt;/P&gt;&lt;P&gt;If you are certain that database_* is already correct, this slightly simpler filter helps to illustrate how the thought process goes:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults
| eval hostname = "server101"
| eval id = "123|124"
| eval database_timestamp = "Mar 03, 2022 12:59:46 PM|Feb 23, 2022 1:19:24 PM"
| eval database_status = "Online|Offline (30 days ago)"
| eval server_timestamp = "Feb 22, 2022 1:19:24 PM|Mar 01, 2022 12:59:46 PM"
| eval server_status = "Offline (31 days ago)|Online"
| fields hostname id database_timestamp database_status server_timestamp server_status
| makemv delim="|" database_timestamp
| makemv delim="|" database_status
| makemv delim="|" server_timestamp
| makemv delim="|" server_status
| makemv delim="|" id
``` below is multivalue manipulation ```
| eval server_lag=mvmap(server_timestamp, now()-strptime(server_timestamp, "%b %d, %Y %I:%M:%S %p")) ``` establish reverse time sequence ```
| eval server_status=mvzip(server_lag, mvzip(server_timestamp, server_status, "|"), "|") ``` zip affected fields with server_lag ```
| eval server_status=mvsort(server_status) ``` sort by reverse time using server_lag ```
| eval server_timestamp=mvmap(server_status, mvindex(split(server_status, "|"), 1)) ``` extract timestamp field from zip ```
| eval server_status=mvmap(server_status, mvindex(split(server_status, "|"), 2)) ``` extract status field from zip ```
| fields - server_lag&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A more general approach is to use &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Foreach" target="_blank" rel="noopener"&gt;foreach&lt;/A&gt; to reorder all fields that may fall into disorder.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults
| eval hostname = "server101"
| eval id = "123|124"
| eval database_timestamp = "Mar 03, 2022 12:59:46 PM|Feb 23, 2022 1:19:24 PM"
| eval database_status = "Online|Offline (30 days ago)"
| eval server_timestamp = "Feb 22, 2022 1:19:24 PM|Mar 01, 2022 12:59:46 PM"
| eval server_status = "Offline (31 days ago)|Online"
| fields hostname id database_timestamp database_status server_timestamp server_status
| makemv delim="|" database_timestamp
| makemv delim="|" database_status
| makemv delim="|" server_timestamp
| makemv delim="|" server_status
| makemv delim="|" id

``` below is multivalue manipulation ```
| foreach *_status ``` iterate through all fields that may fall into disorder ```
    [eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_lag=mvmap(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp, now()-strptime(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp, "%b %d, %Y %I:%M:%S %p")) ``` establish reverse time sequence ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status=mvzip(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_lag, mvzip(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp, &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, "|"), "|") ``` zip affected fields with server_lag ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status=mvsort(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status) ``` sort by reverse time using server_lag ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_timestamp=mvmap(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, mvindex(split(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, "|"), 1)) ``` retrieve timestamp field from zip ```
    | eval &amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status=mvmap(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, mvindex(split(&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;_status, "|"), 2)) ``` retrieve status field from zip ```
    ]
| fields - *_lag&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;With sample data, the output is&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;hostname&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;id&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;database_timestamp&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;database_status&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;server_timestamp&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;server_status&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;_time&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;server101&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;123&lt;/DIV&gt;&lt;DIV class=""&gt;124&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Mar 03, 2022 12:59:46 PM&lt;/DIV&gt;&lt;DIV class=""&gt;Feb 23, 2022 1:19:24 PM&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Online&lt;/DIV&gt;&lt;DIV class=""&gt;Offline (30 days ago)&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Mar 01, 2022 12:59:46 PM&lt;/DIV&gt;&lt;DIV class=""&gt;Feb 22, 2022 1:19:24 PM&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;Online&lt;/DIV&gt;&lt;DIV class=""&gt;Offline (31 days ago)&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;2022-03-03 20:36:28&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As you can see, the "solution" is bend-over manipulation. &amp;nbsp;Back to ITWhisperer's point: It is better to fix the data problem than to manipulate display. &amp;nbsp;For example, the above manipulations do not include "id" field. &amp;nbsp;There has to be some relationship between values of id and the rest. &amp;nbsp;Why is the first id smaller?&lt;/P&gt;</description>
      <pubDate>Thu, 03 Mar 2022 20:47:50 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-sort-this-multi-value-fields-based-on-the-latest/m-p/587530#M204615</guid>
      <dc:creator>yuanliu</dc:creator>
      <dc:date>2022-03-03T20:47:50Z</dc:date>
    </item>
  </channel>
</rss>

