<?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 summarize multiple array entries, with the max value per array element in DQL</title>
    <link>https://community.dynatrace.com/t5/DQL/Summarize-Array-Entries-by-Maximum-Value-per-Key-Using-Dynatrace/m-p/271999#M1780</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/76330"&gt;@joostm&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One way how you could achieve this is with summarize, please have a look:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;data record(content = """host_A	(3,8,6)
host_A	(5,0,7)
host_B	(1,7,3)
host_B	(4,6,2)
host_B	(8,5,2)
host_C	(5,3,9)
host_D	(4,5,6)""")
| parse content, """ARRAY{STRUCTURE{LD:host '	' LD:arr }:i (LF|EOS)}{1,}:arr
"""
| expand elem = arr 
| fields host = elem[host], arr = elem[arr]
| parse arr, """'(' ARRAY{LONG:i (','|')')}{1,}:data"""
| summarize result = arrayDistinct(arrayFlatten((collectArray(data)))), by: { host }&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best,&lt;BR /&gt;Sini&lt;/P&gt;</description>
    <pubDate>Mon, 10 Mar 2025 12:11:21 GMT</pubDate>
    <dc:creator>sinisa_zubic</dc:creator>
    <dc:date>2025-03-10T12:11:21Z</dc:date>
    <item>
      <title>Summarize Array Entries by Maximum Value per Key Using Dynatrace DQL</title>
      <link>https://community.dynatrace.com/t5/DQL/Summarize-Array-Entries-by-Maximum-Value-per-Key-Using-Dynatrace/m-p/271974#M1779</link>
      <description>&lt;P&gt;&lt;EM&gt;Summary:&amp;nbsp;This post explains how to use DQL to summarize multiple array elements by picking the maximum value for each matching key. It provides example queries and discusses data‑structuring considerations.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;I have a dataset of 1000+ hosts, each with a fixed-sized array of 120+ numeric values. Most hosts have only one entry, but a few can have multiple rows. I want to summarize those, per host, with the maximum value of each element within the array. Which is the best (most economical) way to do this in DQL?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example extract:&lt;/P&gt;
&lt;TABLE border="0" width="128" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="64" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64" height="18"&gt;&lt;STRONG&gt;host&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="64"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_A&lt;/TD&gt;
&lt;TD&gt;(3,&lt;STRONG&gt;&lt;FONT&gt;8&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT&gt;,6)&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_A&lt;/TD&gt;
&lt;TD&gt;(&lt;STRONG&gt;&lt;FONT&gt;5&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT&gt;,0,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT&gt;7&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT&gt;)&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_B&lt;/TD&gt;
&lt;TD&gt;(1,&lt;STRONG&gt;&lt;FONT&gt;7&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT&gt;,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT&gt;)&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_B&lt;/TD&gt;
&lt;TD&gt;(4,6,2)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_B&lt;/TD&gt;
&lt;TD&gt;(&lt;STRONG&gt;&lt;FONT&gt;8&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT&gt;,5,2)&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_C&lt;/TD&gt;
&lt;TD&gt;(5,3,9)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_D&lt;/TD&gt;
&lt;TD&gt;(4,5,6)&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Desired outcome:&lt;/P&gt;
&lt;TABLE border="0" width="128" cellspacing="0" cellpadding="0"&gt;&lt;COLGROUP&gt;&lt;COL width="64" /&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64" height="18"&gt;&lt;STRONG&gt;host&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="64"&gt;&lt;STRONG&gt;result&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_A&lt;/TD&gt;
&lt;TD&gt;(5,8,7)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_B&lt;/TD&gt;
&lt;TD&gt;(8,7,3)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_C&lt;/TD&gt;
&lt;TD&gt;(5,3,9)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="18"&gt;host_D&lt;/TD&gt;
&lt;TD&gt;(4,5,6)&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was looking into 'dedup', summarize, and max() , takeMax, functions, but didn't get any further than filtering on the entry with the highest first element of the array, per host&lt;/P&gt;</description>
      <pubDate>Mon, 26 Jan 2026 12:16:06 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Summarize-Array-Entries-by-Maximum-Value-per-Key-Using-Dynatrace/m-p/271974#M1779</guid>
      <dc:creator>joostm</dc:creator>
      <dc:date>2026-01-26T12:16:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to summarize multiple array entries, with the max value per array element</title>
      <link>https://community.dynatrace.com/t5/DQL/Summarize-Array-Entries-by-Maximum-Value-per-Key-Using-Dynatrace/m-p/271999#M1780</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/76330"&gt;@joostm&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One way how you could achieve this is with summarize, please have a look:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;data record(content = """host_A	(3,8,6)
host_A	(5,0,7)
host_B	(1,7,3)
host_B	(4,6,2)
host_B	(8,5,2)
host_C	(5,3,9)
host_D	(4,5,6)""")
| parse content, """ARRAY{STRUCTURE{LD:host '	' LD:arr }:i (LF|EOS)}{1,}:arr
"""
| expand elem = arr 
| fields host = elem[host], arr = elem[arr]
| parse arr, """'(' ARRAY{LONG:i (','|')')}{1,}:data"""
| summarize result = arrayDistinct(arrayFlatten((collectArray(data)))), by: { host }&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best,&lt;BR /&gt;Sini&lt;/P&gt;</description>
      <pubDate>Mon, 10 Mar 2025 12:11:21 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Summarize-Array-Entries-by-Maximum-Value-per-Key-Using-Dynatrace/m-p/271999#M1780</guid>
      <dc:creator>sinisa_zubic</dc:creator>
      <dc:date>2025-03-10T12:11:21Z</dc:date>
    </item>
  </channel>
</rss>

