<?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 Is it possible to add multiple fields as sourceField for lookup to work in DQL? in DQL</title>
    <link>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282167#M2368</link>
    <description>&lt;P&gt;Here's the query&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;fetch spans&lt;BR /&gt;| filter dt.system.bucket == "default_spans"&lt;BR /&gt;AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")&lt;BR /&gt;AND NOT (matchesPhrase(endpoint.name, "*liveness*") or matchesPhrase(endpoint.name, "*health*") or matchesPhrase(endpoint.name, "*readiness*"))&lt;BR /&gt;AND http.response.status_code&amp;gt;399&lt;BR /&gt;// | fieldsAdd is_failed = http.response.status_code&amp;gt;399&lt;BR /&gt;| fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)&lt;BR /&gt;| fieldsAdd traces = concat("[DT Link](https://{environmentid}.apps.dynatrace.com/ui/apps/dynatrace.distributedtracing/explorer?filter=dt.host_group.id+in+%28",cluster,"%29+AND+k8s.namespace.name+%3D+",k8s.namespace.name,"+AND+k8s.workload.name+%3D+",dt.kubernetes.workload.name,"+AND+endpoint.name+%3D+",endpoint.name,"+AND+http.response.status_code+%3E+399&amp;amp;tf=now-2h%3Bnow)")&lt;BR /&gt;| summarize errorcount=count(), by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, http.response.status_code, traces}&lt;BR /&gt;| lookup [ fetch spans&lt;BR /&gt;| filter dt.system.bucket == "default_spans"&lt;BR /&gt;AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")&lt;BR /&gt;AND NOT in(dt.kubernetes.workload.name, {"collab-datamart-content-proxy"})&lt;BR /&gt;AND NOT (matchesPhrase(endpoint.name, "*liveness*") or matchesPhrase(endpoint.name, "*health*") or matchesPhrase(endpoint.name, "*readiness*"))&lt;BR /&gt;AND isNotNull(http.response.status_code)&lt;BR /&gt;// | fieldsAdd is_failed = http.response.status_code&amp;gt;399&lt;BR /&gt;| fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)&lt;BR /&gt;&lt;BR /&gt;| summarize all=count(), by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name}],&lt;BR /&gt;source: {cluster: cluster, k8s.namespace.name: k8s.namespace.name, dt.kubernetes.workload.name: dt.kubernetes.workload.name, endpoint.name: endpoint.name},&lt;BR /&gt;fields: {all},&lt;BR /&gt;joinType: "inner"&lt;BR /&gt;| fields cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, http.response.status_code, errorcount, all, traces&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 23 Jul 2025 17:01:57 GMT</pubDate>
    <dc:creator>virdavindersing</dc:creator>
    <dc:date>2025-07-23T17:01:57Z</dc:date>
    <item>
      <title>Is it possible to add multiple fields as sourceField for lookup to work in DQL?</title>
      <link>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282167#M2368</link>
      <description>&lt;P&gt;Here's the query&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;fetch spans&lt;BR /&gt;| filter dt.system.bucket == "default_spans"&lt;BR /&gt;AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")&lt;BR /&gt;AND NOT (matchesPhrase(endpoint.name, "*liveness*") or matchesPhrase(endpoint.name, "*health*") or matchesPhrase(endpoint.name, "*readiness*"))&lt;BR /&gt;AND http.response.status_code&amp;gt;399&lt;BR /&gt;// | fieldsAdd is_failed = http.response.status_code&amp;gt;399&lt;BR /&gt;| fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)&lt;BR /&gt;| fieldsAdd traces = concat("[DT Link](https://{environmentid}.apps.dynatrace.com/ui/apps/dynatrace.distributedtracing/explorer?filter=dt.host_group.id+in+%28",cluster,"%29+AND+k8s.namespace.name+%3D+",k8s.namespace.name,"+AND+k8s.workload.name+%3D+",dt.kubernetes.workload.name,"+AND+endpoint.name+%3D+",endpoint.name,"+AND+http.response.status_code+%3E+399&amp;amp;tf=now-2h%3Bnow)")&lt;BR /&gt;| summarize errorcount=count(), by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, http.response.status_code, traces}&lt;BR /&gt;| lookup [ fetch spans&lt;BR /&gt;| filter dt.system.bucket == "default_spans"&lt;BR /&gt;AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")&lt;BR /&gt;AND NOT in(dt.kubernetes.workload.name, {"collab-datamart-content-proxy"})&lt;BR /&gt;AND NOT (matchesPhrase(endpoint.name, "*liveness*") or matchesPhrase(endpoint.name, "*health*") or matchesPhrase(endpoint.name, "*readiness*"))&lt;BR /&gt;AND isNotNull(http.response.status_code)&lt;BR /&gt;// | fieldsAdd is_failed = http.response.status_code&amp;gt;399&lt;BR /&gt;| fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)&lt;BR /&gt;&lt;BR /&gt;| summarize all=count(), by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name}],&lt;BR /&gt;source: {cluster: cluster, k8s.namespace.name: k8s.namespace.name, dt.kubernetes.workload.name: dt.kubernetes.workload.name, endpoint.name: endpoint.name},&lt;BR /&gt;fields: {all},&lt;BR /&gt;joinType: "inner"&lt;BR /&gt;| fields cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, http.response.status_code, errorcount, all, traces&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 23 Jul 2025 17:01:57 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282167#M2368</guid>
      <dc:creator>virdavindersing</dc:creator>
      <dc:date>2025-07-23T17:01:57Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to add multiple fields as sourceField for lookup to work in DQL?</title>
      <link>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282175#M2369</link>
      <description>&lt;P&gt;Hi there. You may wish to add some additional explanation/context, in addition to the DQL query, to your post in order to help community members understand what you are trying to accomplish and what challenge you are facing.&lt;/P&gt;</description>
      <pubDate>Wed, 23 Jul 2025 19:32:17 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282175#M2369</guid>
      <dc:creator>marco_irmer</dc:creator>
      <dc:date>2025-07-23T19:32:17Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to add multiple fields as sourceField for lookup to work in DQL?</title>
      <link>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282254#M2372</link>
      <description>&lt;P&gt;sure I am trying to building a table like below but it should have the "failure rate" column for the endpoint as well&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="virdavindersing_0-1753378198333.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/29173i9807E24941C85369/image-size/medium?v=v2&amp;amp;px=400" role="button" title="virdavindersing_0-1753378198333.png" alt="virdavindersing_0-1753378198333.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jul 2025 17:31:49 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282254#M2372</guid>
      <dc:creator>virdavindersing</dc:creator>
      <dc:date>2025-07-24T17:31:49Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to add multiple fields as sourceField for lookup to work in DQL?</title>
      <link>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282255#M2373</link>
      <description>&lt;P&gt;does it help from context perspective ?&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jul 2025 17:32:52 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282255#M2373</guid>
      <dc:creator>virdavindersing</dc:creator>
      <dc:date>2025-07-24T17:32:52Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to add multiple fields as sourceField for lookup to work in DQL?</title>
      <link>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282296#M2379</link>
      <description>&lt;P&gt;Basically I need to have the error count based on all the entities (&lt;SPAN&gt;cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, http.response.status_code, errorcount, traces&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;At the same time, I need to add a column for failure rate based on errorcount/"all requests count" as well&amp;nbsp;&lt;BR /&gt;I couldn't add the failure rate based on&amp;nbsp;&lt;SPAN&gt;http.response.status_code together with error count&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 25 Jul 2025 12:13:54 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282296#M2379</guid>
      <dc:creator>virdavindersing</dc:creator>
      <dc:date>2025-07-25T12:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: Is it possible to add multiple fields as sourceField for lookup to work in DQL?</title>
      <link>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282434#M2388</link>
      <description>&lt;P&gt;In &lt;EM&gt;&lt;STRONG&gt;lookup&lt;/STRONG&gt;&lt;/EM&gt; it is possible with a trick, but in this case it ok just to use &lt;EM&gt;&lt;STRONG&gt;join&lt;/STRONG&gt;&lt;/EM&gt; to get this effect. I think this query will give you what you need:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;fetch spans
| filter dt.system.bucket == "default_spans"
  AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")
  AND NOT (matchesPhrase(endpoint.name, "*liveness*") 
    or matchesPhrase(endpoint.name, "*health*") 
    or matchesPhrase(endpoint.name, "*readiness*"))
  AND http.response.status_code&amp;gt;399
| fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)
| fieldsAdd traces = concat("[DT Link](https://{environmentid}.apps.dynatrace.com/ui/apps/dynatrace.distributedtracing/explorer?filter=dt.host_group.id+in+%28",cluster,"%29+AND+k8s.namespace.name+%3D+",k8s.namespace.name,"+AND+k8s.workload.name+%3D+",dt.kubernetes.workload.name,"+AND+endpoint.name+%3D+",endpoint.name,"+AND+http.response.status_code+%3E+399&amp;amp;tf=now-2h%3Bnow)")
| summarize errorcount=count(), 
  by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, http.response.status_code, traces}

| join 
[ fetch spans
  | filter dt.system.bucket == "default_spans"
  AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")
  AND NOT in(dt.kubernetes.workload.name, {"collab-datamart-content-proxy"})
  AND NOT (matchesPhrase(endpoint.name, "*liveness*") 
    or matchesPhrase(endpoint.name, "*health*") 
    or matchesPhrase(endpoint.name, "*readiness*"))
  AND isNotNull(http.response.status_code)
  | fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)
  | summarize all=count(), 
    by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name}
],
on: {cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name}, 
fields: {all}, kind:inner

| fields cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, 
  http.response.status_code, errorcount, 100.0*errorcount/all, traces&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this case subquery will always produce record for record in main query, so it is safe to use &lt;EM&gt;&lt;STRONG&gt;inner&lt;/STRONG&gt;&lt;/EM&gt; join.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;lookup&lt;/STRONG&gt;&lt;/EM&gt; command allows only single fields to be user, but you can construct a record containing all needed fields to be used for comparison. Important thing is that on both sides fields need to be names the same and in be in same order.&lt;/P&gt;&lt;P&gt;Such query should produce same results:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;fetch spans
| filter dt.system.bucket == "default_spans"
  AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")
  AND NOT (matchesPhrase(endpoint.name, "*liveness*") 
    or matchesPhrase(endpoint.name, "*health*") 
    or matchesPhrase(endpoint.name, "*readiness*"))
  AND http.response.status_code&amp;gt;399
| fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)
| fieldsAdd traces = concat("[DT Link](https://{environmentid}.apps.dynatrace.com/ui/apps/dynatrace.distributedtracing/explorer?filter=dt.host_group.id+in+%28",cluster,"%29+AND+k8s.namespace.name+%3D+",k8s.namespace.name,"+AND+k8s.workload.name+%3D+",dt.kubernetes.workload.name,"+AND+endpoint.name+%3D+",endpoint.name,"+AND+http.response.status_code+%3E+399&amp;amp;tf=now-2h%3Bnow)")
| summarize errorcount=count(), 
  by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, http.response.status_code, traces}
| fieldsAdd key = record(cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name)

| lookup 
[ fetch spans
  | filter dt.system.bucket == "default_spans"
  AND matchesValue(entityAttr(dt.entity.kubernetes_cluster, "entity.name"), "cluster_name")
  AND NOT in(dt.kubernetes.workload.name, {"collab-datamart-content-proxy"})
  AND NOT (matchesPhrase(endpoint.name, "*liveness*") 
    or matchesPhrase(endpoint.name, "*health*") 
    or matchesPhrase(endpoint.name, "*readiness*"))
  AND isNotNull(http.response.status_code)
  | fieldsAdd cluster=entityName(dt.entity.kubernetes_cluster)
  | summarize all=count(), 
    by:{cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name}
  | fieldsAdd key = record(cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name)
], sourceField:key, lookupField:key, fields: {all}

| fields cluster, k8s.namespace.name, dt.kubernetes.workload.name, endpoint.name, 
  http.response.status_code, errorcount, 100.0*errorcount/all, traces&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 28 Jul 2025 19:10:08 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Is-it-possible-to-add-multiple-fields-as-sourceField-for-lookup/m-p/282434#M2388</guid>
      <dc:creator>krzysztof_hoja</dc:creator>
      <dc:date>2025-07-28T19:10:08Z</dc:date>
    </item>
  </channel>
</rss>

