<?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: DQL - Recursive array to column extraction in DQL</title>
    <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295589#M3191</link>
    <description>&lt;P&gt;1) you sure reached a deeper level of understanding on how the data structure behave. Hope I'll reach that level too.&lt;/P&gt;&lt;P&gt;2) I share your view. For me the true reason behind making this change systematically in Openpipeline is easiness of read for non IT / non technical / not in Dynatrace / not in DQL people.&lt;BR /&gt;I do agree the array, once/if well build, is superior and easier to have in one single field.&lt;/P&gt;&lt;P&gt;Thank you for all the support and feedback,&lt;/P&gt;&lt;P&gt;Yann&lt;/P&gt;</description>
    <pubDate>Wed, 04 Mar 2026 07:17:44 GMT</pubDate>
    <dc:creator>y_buccellato</dc:creator>
    <dc:date>2026-03-04T07:17:44Z</dc:date>
    <item>
      <title>DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295565#M3185</link>
      <description>&lt;P&gt;Hello community,&lt;BR /&gt;I have an array which is build as follow (it contains 2 elements):&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;[&lt;BR /&gt;{&lt;BR /&gt;"text": "Brave new world xx.xx.xxxx of xxxxxx and",&lt;BR /&gt;"id": "021(anastasia)",&lt;BR /&gt;"index": "0"&lt;BR /&gt;},&lt;BR /&gt;{&lt;BR /&gt;"text": "Brave new world but old",&lt;BR /&gt;"id": "404(anastasia)",&lt;BR /&gt;"index": "1"&lt;BR /&gt;}&lt;BR /&gt;]&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and my goal is to reiterate element extraction from the array to be displayed as columns.&lt;BR /&gt;For instance if I use DQL function arrayElement I can extract one single element and this will be displayed on a single row as follow:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="arrayElement.png" style="width: 955px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32187iD559D79ADCDBF08C/image-size/large?v=v2&amp;amp;px=999" role="button" title="arrayElement.png" alt="arrayElement.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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What if I want multiple column per each element of the previous array?&lt;BR /&gt;Wish someone can help on this &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/25373"&gt;@krzysztof_hoja&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Yann&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 15:31:23 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295565#M3185</guid>
      <dc:creator>y_buccellato</dc:creator>
      <dc:date>2026-03-03T15:31:23Z</dc:date>
    </item>
    <item>
      <title>Re: DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295569#M3186</link>
      <description>&lt;P&gt;I am not sure if you need this:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;data json:"""{"bla":
[
{
"text": "Brave new world xx.xx.xxxx of xxxxxx and",
"id": "021(anastasia)",
"index": "0"
},
{
"text": "Brave new world but old",
"id": "404(anastasia)",
"index": "1"
}
]}"""

| expand bla&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-03-03_17-13-34.png" style="width: 737px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32188i76DF71E88BB1E3C2/image-size/large?v=v2&amp;amp;px=999" role="button" title="2026-03-03_17-13-34.png" alt="2026-03-03_17-13-34.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;or this (when you know you have just 2 elements)&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| fields e1 = arrayElement(bla,0), e2=arrayElement(bla,1)&lt;/LI-CODE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-03-03_17-17-23.png" style="width: 986px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32189iDD68270F204446EC/image-size/large?v=v2&amp;amp;px=999" role="button" title="2026-03-03_17-17-23.png" alt="2026-03-03_17-17-23.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;or this which works for any array:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| fields bla = concat("\"", iIndex(), "\": ",  toString(bla[]))
| fields bla=concat("{",arrayToString(bla, delimiter:","),"}")
| parse bla,"JSON:bla"
| fieldsFlatten bla
| fieldsRemove bla&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-03-03_17-19-15.png" style="width: 857px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/32190i516DE879F46E27B7/image-size/large?v=v2&amp;amp;px=999" role="button" title="2026-03-03_17-19-15.png" alt="2026-03-03_17-19-15.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 16:20:36 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295569#M3186</guid>
      <dc:creator>krzysztof_hoja</dc:creator>
      <dc:date>2026-03-03T16:20:36Z</dc:date>
    </item>
    <item>
      <title>Re: DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295577#M3188</link>
      <description>&lt;P&gt;Ei this is the solution: "&lt;SPAN&gt;works for any array&lt;/SPAN&gt;" the one at the bottom that you provided.&lt;/P&gt;&lt;PRE class="lia-code-sample  language-markup"&gt;&lt;CODE&gt;| fields bla = concat("\"", iIndex(), "\": ",  toString(bla[]))
| fields bla=concat("{",arrayToString(bla, delimiter:","),"}")
| parse bla,"JSON:bla"
| fieldsFlatten bla
| fieldsRemove bla&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;I'm really greteful for you help. You make it look easy &lt;span class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;😄&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Reading from your other post on the community I understood that I had to build a json but I had no idea on how to do this precisely.&lt;BR /&gt;&lt;BR /&gt;I have few more question if you feel like answering &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;1) where did you learn to craft the json via DQL in the way you did?&lt;/P&gt;&lt;P&gt;2) do you think that all these transformation will be supported in OpenPipeline?&lt;/P&gt;&lt;P&gt;3) do you think there are more automated way of reaching this same result via arrayElement() [Logic would be for each array Element create a new flatten colum]? (I experimented a lot with iAny / iIndex() but with no success - when searching from docs to community haven't found much)&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Yann&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 17:49:59 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295577#M3188</guid>
      <dc:creator>y_buccellato</dc:creator>
      <dc:date>2026-03-03T17:49:59Z</dc:date>
    </item>
    <item>
      <title>Re: DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295583#M3189</link>
      <description>&lt;P&gt;1) It's just my own invention&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;&lt;P&gt;2) I would ask a different question here. I understood your question more as a visualization need. Our tables do not display well more complex arrays. I personally see data stored as array superior over this record/object I used to make this data more readable. It is just more convenient to process data when it is array. So why would you do this conversion such conversion in OpenPipeline? But I think that such transformation is already allowed in OP.&lt;/P&gt;&lt;P&gt;3) Right now not. I see a need for object-&amp;gt;array and array-&amp;gt;object functions. The first class could give you array of keys in object or array of key-value pairs. The second could construct an object from array of key-value pairs. Such array-&amp;gt;object function would be useful for your need. Your array should be enchanted with key names and this is doable today with iterative expression.&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 22:04:07 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295583#M3189</guid>
      <dc:creator>krzysztof_hoja</dc:creator>
      <dc:date>2026-03-03T22:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295589#M3191</link>
      <description>&lt;P&gt;1) you sure reached a deeper level of understanding on how the data structure behave. Hope I'll reach that level too.&lt;/P&gt;&lt;P&gt;2) I share your view. For me the true reason behind making this change systematically in Openpipeline is easiness of read for non IT / non technical / not in Dynatrace / not in DQL people.&lt;BR /&gt;I do agree the array, once/if well build, is superior and easier to have in one single field.&lt;/P&gt;&lt;P&gt;Thank you for all the support and feedback,&lt;/P&gt;&lt;P&gt;Yann&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 07:17:44 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295589#M3191</guid>
      <dc:creator>y_buccellato</dc:creator>
      <dc:date>2026-03-04T07:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295610#M3192</link>
      <description>&lt;P&gt;To my surprise&amp;nbsp;arrayToString is not a function supported by open pipeline&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 11:13:56 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295610#M3192</guid>
      <dc:creator>y_buccellato</dc:creator>
      <dc:date>2026-03-04T11:13:56Z</dc:date>
    </item>
    <item>
      <title>Re: DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295628#M3195</link>
      <description>&lt;P&gt;Surprise indeed. This is new function, so maybe it is temporary only.&lt;/P&gt;&lt;P&gt;Alternative not requiring &lt;EM&gt;&lt;STRONG&gt;arrayToString&lt;/STRONG&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| fields bla = concat( iIndex(), ":",  toString(bla[]))
| fields bla = replaceString(toString(bla),"\\\"","\"")
| parse bla,"""'[' KVP{ '"' LD:key ':' JSON:value ('", '|'"]') }:bla """
| fieldsFlatten bla
| fieldsRemove bla&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 12:14:17 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295628#M3195</guid>
      <dc:creator>krzysztof_hoja</dc:creator>
      <dc:date>2026-03-04T12:14:17Z</dc:date>
    </item>
    <item>
      <title>Re: DQL - Recursive array to column extraction</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295629#M3196</link>
      <description>&lt;P&gt;Most probably. After the conversation we had here I decided to follow what you said in your point 2).[seeing "&lt;SPAN&gt;data stored as array superior&lt;/SPAN&gt;"]&lt;BR /&gt;&lt;BR /&gt;I'll keep the field as an array in OpenPipeline, so the original Bizevent will be tinner. Will later distribute in that many column for that many array elements in the down stream apps: Dashboard and Notebook (and some automated reported via excel).&lt;/P&gt;</description>
      <pubDate>Wed, 04 Mar 2026 12:22:04 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-Recursive-array-to-column-extraction/m-p/295629#M3196</guid>
      <dc:creator>y_buccellato</dc:creator>
      <dc:date>2026-03-04T12:22:04Z</dc:date>
    </item>
  </channel>
</rss>

