<?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 Add getDayOfYear array as a filter in &amp;quot;if else&amp;quot; check - help with syntax in DQL</title>
    <link>https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/m-p/254470#M1149</link>
    <description>&lt;P&gt;Hi All&lt;/P&gt;
&lt;P&gt;I am working worth a service metric - in this case Response Time - where I want to split by Business Hours (BH) and Non Business Hours (NBH) - this works fine as I also include Sat and Sat into NBH&lt;/P&gt;
&lt;P&gt;The next step I want to do is include a list of public holidays to be included in NBH by providing an "Array" containing a list of these days as per "getDayOfYear" format to match against&lt;/P&gt;
&lt;P&gt;In the code below my attempt at this is commented out&lt;/P&gt;
&lt;P&gt;I need some help with the correct syntax - am I on the right track?&lt;/P&gt;
&lt;P&gt;Apprecaite the help&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DQL1.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/22088i2B1C89828CA3FD8B/image-size/large?v=v2&amp;amp;px=999" role="button" title="DQL1.png" alt="DQL1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;### DQL ###&lt;/P&gt;
&lt;P&gt;timeseries {AvgResponseTime=avg(dt.service.request.response_time,default:0),e=end()},interval:1h,by:{dt.entity.service}&lt;BR /&gt;// ,from:"2024-04-01T00:00:00" ,to:"2024-04-30T23:59:59" // Select the month&lt;BR /&gt;| filter dt.entity.service == "SERVICE-xxx"&lt;BR /&gt;| fieldsAdd AvgResponseTime_BH = if( getHour(e[])&amp;gt;6 and getHour(e[])&amp;lt;19 and getDayOfWeek(e[]) &amp;lt;6, AvgResponseTime[])&lt;BR /&gt;,AvgResponseTime_NBH = if( getHour(e[])&amp;lt;7 or getHour(e[])&amp;gt;18, AvgResponseTime[]&lt;BR /&gt;,else:if(getDayOfWeek(e[]) &amp;gt;5, AvgResponseTime[] //Include Sat and Sun&lt;BR /&gt;// Need to Include Public Holiday's to Non Business Hours [all 24 hours]&lt;BR /&gt;// ,else:if(getDayOfYear(e[]) in(e[],array,("1","81","89","92","118","122","168","222","268","351","360","361")), AvgResponseTime[]&lt;BR /&gt;))&lt;BR /&gt;// Temp fields to verify Monthly Hour totals for Business Hours and Non Business Hours&lt;BR /&gt;| fieldsAdd HoursInMonth = arraySize(arrayRemoveNulls(AvgResponseTime))&lt;BR /&gt;,Hours_BH = arraySize(arrayRemoveNulls(AvgResponseTime_BH))&lt;BR /&gt;,Hours_NBH = arraySize(arrayRemoveNulls(AvgResponseTime_NBH))&lt;BR /&gt;| fieldsAdd Hours_Check_MustBeZero = HoursInMonth - (Hours_BH + Hours_NBH)&lt;BR /&gt;| fieldsRemove AvgResponseTime,AvgResponseTime_BH,AvgResponseTime_NBH&lt;/P&gt;</description>
    <pubDate>Fri, 30 Aug 2024 07:06:29 GMT</pubDate>
    <dc:creator>AlanFoley</dc:creator>
    <dc:date>2024-08-30T07:06:29Z</dc:date>
    <item>
      <title>Add getDayOfYear array as a filter in "if else" check - help with syntax</title>
      <link>https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/m-p/254470#M1149</link>
      <description>&lt;P&gt;Hi All&lt;/P&gt;
&lt;P&gt;I am working worth a service metric - in this case Response Time - where I want to split by Business Hours (BH) and Non Business Hours (NBH) - this works fine as I also include Sat and Sat into NBH&lt;/P&gt;
&lt;P&gt;The next step I want to do is include a list of public holidays to be included in NBH by providing an "Array" containing a list of these days as per "getDayOfYear" format to match against&lt;/P&gt;
&lt;P&gt;In the code below my attempt at this is commented out&lt;/P&gt;
&lt;P&gt;I need some help with the correct syntax - am I on the right track?&lt;/P&gt;
&lt;P&gt;Apprecaite the help&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DQL1.png" style="width: 999px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/22088i2B1C89828CA3FD8B/image-size/large?v=v2&amp;amp;px=999" role="button" title="DQL1.png" alt="DQL1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;### DQL ###&lt;/P&gt;
&lt;P&gt;timeseries {AvgResponseTime=avg(dt.service.request.response_time,default:0),e=end()},interval:1h,by:{dt.entity.service}&lt;BR /&gt;// ,from:"2024-04-01T00:00:00" ,to:"2024-04-30T23:59:59" // Select the month&lt;BR /&gt;| filter dt.entity.service == "SERVICE-xxx"&lt;BR /&gt;| fieldsAdd AvgResponseTime_BH = if( getHour(e[])&amp;gt;6 and getHour(e[])&amp;lt;19 and getDayOfWeek(e[]) &amp;lt;6, AvgResponseTime[])&lt;BR /&gt;,AvgResponseTime_NBH = if( getHour(e[])&amp;lt;7 or getHour(e[])&amp;gt;18, AvgResponseTime[]&lt;BR /&gt;,else:if(getDayOfWeek(e[]) &amp;gt;5, AvgResponseTime[] //Include Sat and Sun&lt;BR /&gt;// Need to Include Public Holiday's to Non Business Hours [all 24 hours]&lt;BR /&gt;// ,else:if(getDayOfYear(e[]) in(e[],array,("1","81","89","92","118","122","168","222","268","351","360","361")), AvgResponseTime[]&lt;BR /&gt;))&lt;BR /&gt;// Temp fields to verify Monthly Hour totals for Business Hours and Non Business Hours&lt;BR /&gt;| fieldsAdd HoursInMonth = arraySize(arrayRemoveNulls(AvgResponseTime))&lt;BR /&gt;,Hours_BH = arraySize(arrayRemoveNulls(AvgResponseTime_BH))&lt;BR /&gt;,Hours_NBH = arraySize(arrayRemoveNulls(AvgResponseTime_NBH))&lt;BR /&gt;| fieldsAdd Hours_Check_MustBeZero = HoursInMonth - (Hours_BH + Hours_NBH)&lt;BR /&gt;| fieldsRemove AvgResponseTime,AvgResponseTime_BH,AvgResponseTime_NBH&lt;/P&gt;</description>
      <pubDate>Fri, 30 Aug 2024 07:06:29 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/m-p/254470#M1149</guid>
      <dc:creator>AlanFoley</dc:creator>
      <dc:date>2024-08-30T07:06:29Z</dc:date>
    </item>
    <item>
      <title>Re: Add getDayOfYear array as a filter in "if else" check - help with syntax</title>
      <link>https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/m-p/254629#M1160</link>
      <description>&lt;P&gt;I would do it this way:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| fieldsAdd bh = getHour(e[])&amp;gt;6 and getHour(e[])&amp;lt;19 and getDayOfWeek(e[]) &amp;lt;6 and not in(getDayOfYear(e[]), array(1,81,89,92,118,122,168,222,268,351,360,361))
| fieldsAdd 
    AvgResponseTime_BH = if( bh[], AvgResponseTime[]),
    AvgResponseTime_NBH = if( not bh[], AvgResponseTime[] )
| fieldsAdd 
    HoursInMonth = arraySize(arrayRemoveNulls(AvgResponseTime)),
    Hours_BH = arraySize(arrayRemoveNulls(AvgResponseTime_BH)),
    Hours_NBH = arraySize(arrayRemoveNulls(AvgResponseTime_NBH))
| fieldsAdd Hours_Check_MustBeZero = HoursInMonth - (Hours_BH + Hours_NBH)
| fieldsRemove AvgResponseTime,AvgResponseTime_BH,AvgResponseTime_NBH, bh&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 30 Aug 2024 21:12:46 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/m-p/254629#M1160</guid>
      <dc:creator>krzysztof_hoja</dc:creator>
      <dc:date>2024-08-30T21:12:46Z</dc:date>
    </item>
    <item>
      <title>Re: Add getDayOfYear array as a filter in "if else" check - help with syntax</title>
      <link>https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/m-p/254755#M1163</link>
      <description>&lt;P&gt;Hi krzysztof_hoja&lt;/P&gt;&lt;P&gt;Works great&amp;nbsp;&lt;/P&gt;&lt;P&gt;Appreciate your time&lt;/P&gt;&lt;P&gt;Thanks a mil&lt;/P&gt;&lt;P&gt;Alan&lt;/P&gt;&lt;DIV class=""&gt;&lt;A class="" href="https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/td-p/254470#" target="_blank" rel="noopener"&gt;Preview&lt;/A&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 03 Sep 2024 04:39:23 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/Add-getDayOfYear-array-as-a-filter-in-quot-if-else-quot-check/m-p/254755#M1163</guid>
      <dc:creator>AlanFoley</dc:creator>
      <dc:date>2024-09-03T04:39:23Z</dc:date>
    </item>
  </channel>
</rss>

