<?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 Need alternative to spread in DQL to avoid value distribution across the entire timeframe in DQL</title>
    <link>https://community.dynatrace.com/t5/DQL/Need-alternative-to-spread-in-DQL-to-avoid-value-distribution/m-p/291744#M2915</link>
    <description>&lt;P&gt;Hello, I need to know if it’s possible to use DQL to maintain some kind of counter.&lt;BR /&gt;My goal is to detect a condition only when the alert has occurred at least twice, so that a problem is raised only when it reaches that threshold.&lt;/P&gt;&lt;P&gt;Here is the logic I am currently using:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;| fieldsAdd alerta = coalesce(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Scenario 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EquipoA != EquipoB&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and (EquipoA != dirCorreA or EquipoA != dirCorreB)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and (EquipoB != dirCorreA or EquipoB != dirCorreB)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and dirCorreA != dirCorreB,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; true&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ),&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Scenario 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dirCorreA == "CRI400C "&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and EquipoB == "CRI400H"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and trim(dirCorreB) != trim(_icadir),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; true&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ),&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Default&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;BR /&gt;)&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| filter alerta&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| lookup [&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fetch `dt.entity.ibm_i:host`&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | fields id, name = entity.name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | fieldsAdd equipo_join = upper(trim(name))&lt;BR /&gt;&amp;nbsp; ],&lt;BR /&gt;&amp;nbsp; sourceField: EquipoA,&lt;BR /&gt;&amp;nbsp; lookupField: equipo_join,&lt;BR /&gt;&amp;nbsp; fields: { id }&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| fieldsKeep _icadir, timeframe, id, _icanom, icanom,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dirCorreA, dirCorreB, alerta, EquipoA, EquipoB&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;|| makeTimeseries alert = countIf(alerta),&lt;BR /&gt;&amp;nbsp; by: { _icadir, id, _icanom, icanom,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dirCorreA, dirCorreB, EquipoA, EquipoB },&lt;BR /&gt;&amp;nbsp; spread: timeframe,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;What I need now is a way to evaluate this series so that a problem is only triggered when alert occurs two or more times within the selected timeframe.&lt;/P&gt;&lt;P&gt;The issue is that, since we have to use spread, the value gets distributed across the entire timeframe. Is there any other way to do this?&lt;/P&gt;</description>
    <pubDate>Wed, 17 Dec 2025 19:19:01 GMT</pubDate>
    <dc:creator>jeffrey_valerio</dc:creator>
    <dc:date>2025-12-17T19:19:01Z</dc:date>
    <item>
      <title>Need alternative to spread in DQL to avoid value distribution across the entire timeframe</title>
      <link>https://community.dynatrace.com/t5/DQL/Need-alternative-to-spread-in-DQL-to-avoid-value-distribution/m-p/291744#M2915</link>
      <description>&lt;P&gt;Hello, I need to know if it’s possible to use DQL to maintain some kind of counter.&lt;BR /&gt;My goal is to detect a condition only when the alert has occurred at least twice, so that a problem is raised only when it reaches that threshold.&lt;/P&gt;&lt;P&gt;Here is the logic I am currently using:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;| fieldsAdd alerta = coalesce(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Scenario 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EquipoA != EquipoB&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and (EquipoA != dirCorreA or EquipoA != dirCorreB)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and (EquipoB != dirCorreA or EquipoB != dirCorreB)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and dirCorreA != dirCorreB,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; true&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ),&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Scenario 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dirCorreA == "CRI400C "&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and EquipoB == "CRI400H"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and trim(dirCorreB) != trim(_icadir),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; true&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ),&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Default&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;BR /&gt;)&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| filter alerta&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| lookup [&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fetch `dt.entity.ibm_i:host`&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | fields id, name = entity.name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | fieldsAdd equipo_join = upper(trim(name))&lt;BR /&gt;&amp;nbsp; ],&lt;BR /&gt;&amp;nbsp; sourceField: EquipoA,&lt;BR /&gt;&amp;nbsp; lookupField: equipo_join,&lt;BR /&gt;&amp;nbsp; fields: { id }&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| fieldsKeep _icadir, timeframe, id, _icanom, icanom,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dirCorreA, dirCorreB, alerta, EquipoA, EquipoB&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;|| makeTimeseries alert = countIf(alerta),&lt;BR /&gt;&amp;nbsp; by: { _icadir, id, _icanom, icanom,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dirCorreA, dirCorreB, EquipoA, EquipoB },&lt;BR /&gt;&amp;nbsp; spread: timeframe,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;What I need now is a way to evaluate this series so that a problem is only triggered when alert occurs two or more times within the selected timeframe.&lt;/P&gt;&lt;P&gt;The issue is that, since we have to use spread, the value gets distributed across the entire timeframe. Is there any other way to do this?&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2025 19:19:01 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Need-alternative-to-spread-in-DQL-to-avoid-value-distribution/m-p/291744#M2915</guid>
      <dc:creator>jeffrey_valerio</dc:creator>
      <dc:date>2025-12-17T19:19:01Z</dc:date>
    </item>
  </channel>
</rss>

