<?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: Playing with dates, durations and intervals in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448270#M167261</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for this quick and helpful answer !&lt;/P&gt;&lt;P&gt;Your code is far from my level so I need to study it !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But one thing is bothering me : in this example, i should get as a output 2:00&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;from 10:00 to 11:00 caused by incident 1 (+60')&lt;/P&gt;&lt;P&gt;from 11:00 to 11:30 caused by the end of incident 2 (+30')&lt;/P&gt;&lt;P&gt;from 16:00 to 16:30 caused by incident 3 (+30')&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 May 2013 12:59:34 GMT</pubDate>
    <dc:creator />
    <dc:date>2013-05-10T12:59:34Z</dc:date>
    <item>
      <title>Playing with dates, durations and intervals</title>
      <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448268#M167259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;Hi everyone,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;I was wondering if someone would be able to help me with this durations problem.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;I have as input several incidents :&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 10pt; font-family: Arial, sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" height="91" style="width: 406px; border: 1px solid #000000; height: 86px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;BR /&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;Duration&lt;BR /&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;Start&lt;BR /&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;End&lt;BR /&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Incident 1&lt;/TD&gt;&lt;TD&gt;60'&lt;/TD&gt;&lt;TD&gt;10:00&lt;/TD&gt;&lt;TD&gt;11:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: Arial, sans-serif;"&gt;Incident &lt;/SPAN&gt;2&lt;/TD&gt;&lt;TD&gt;60'&lt;/TD&gt;&lt;TD&gt;10:30&lt;/TD&gt;&lt;TD&gt;11:30&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: Arial, sans-serif;"&gt;Incident &lt;/SPAN&gt;3&lt;/TD&gt;&lt;TD&gt;30'&lt;/TD&gt;&lt;TD&gt;16:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;I'd like to find the duration of &lt;SPAN style="font-family: Arial, sans-serif;"&gt;non-disponibility of my service but I cant just sum up durations because incidents can happen &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;simultaneously.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;Anyone's got a clue ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;Regards &amp;amp; Thanks,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 11:44:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448268#M167259</guid>
      <dc:creator />
      <dc:date>2013-05-10T11:44:27Z</dc:date>
    </item>
    <item>
      <title>Re: Playing with dates, durations and intervals</title>
      <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448269#M167260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe something along these lines:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET TimeFormat = 'hh:mm';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IncidentsTmp:&lt;/P&gt;&lt;P&gt;CROSSTABLE (Type, Timestamp, 2) &lt;/P&gt;&lt;P&gt;LOAD * INLINE [&lt;/P&gt;&lt;P&gt;Incident,&amp;nbsp;&amp;nbsp;&amp;nbsp; Duration,&amp;nbsp;&amp;nbsp;&amp;nbsp; Start,&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/P&gt;&lt;P&gt;Incident 1,&amp;nbsp;&amp;nbsp;&amp;nbsp; 60',&amp;nbsp;&amp;nbsp;&amp;nbsp; 10:00,&amp;nbsp;&amp;nbsp;&amp;nbsp; 11:00&lt;/P&gt;&lt;P&gt;Incident 2,&amp;nbsp;&amp;nbsp;&amp;nbsp; 60',&amp;nbsp;&amp;nbsp;&amp;nbsp; 10:30,&amp;nbsp;&amp;nbsp;&amp;nbsp; 11:30&lt;/P&gt;&lt;P&gt;Incident 2b, 10', 10:10, 10:20&lt;/P&gt;&lt;P&gt;Incident 3,&amp;nbsp;&amp;nbsp;&amp;nbsp; 30',&amp;nbsp;&amp;nbsp;&amp;nbsp; 16:00,&amp;nbsp;&amp;nbsp;&amp;nbsp; 16:30&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IncidentsTmp2:&lt;/P&gt;&lt;P&gt;LOAD *, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Type='Start' and peek('Type') &amp;lt;&amp;gt; 'Start', Timestamp, peek(StartDT)) as StartDT,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Type='Start' , rangesum(peek('StartInc'),1), rangesum(peek('StartInc'),-1)) as StartInc&lt;/P&gt;&lt;P&gt;RESIDENT IncidentsTmp ORDER BY Timestamp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE IncidentsTmp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IncidentsTmp3:&lt;/P&gt;&lt;P&gt;LOAD * , &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Type='End' and peek('Type') &amp;lt;&amp;gt; 'End' and StartInc = 0, interval(Timestamp - StartDT)) as IntervalGroup &lt;/P&gt;&lt;P&gt;RESIDENT IncidentsTmp2 ORDER BY Timestamp desc;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE IncidentsTmp2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Result:&lt;/P&gt;&lt;P&gt;LOAD interval(sum(IntervalGroup)) as OverallDuration &lt;/P&gt;&lt;P&gt;RESIDENT IncidentsTmp3;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 12:32:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448269#M167260</guid>
      <dc:creator>swuehl</dc:creator>
      <dc:date>2013-05-10T12:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: Playing with dates, durations and intervals</title>
      <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448270#M167261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for this quick and helpful answer !&lt;/P&gt;&lt;P&gt;Your code is far from my level so I need to study it !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But one thing is bothering me : in this example, i should get as a output 2:00&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;from 10:00 to 11:00 caused by incident 1 (+60')&lt;/P&gt;&lt;P&gt;from 11:00 to 11:30 caused by the end of incident 2 (+30')&lt;/P&gt;&lt;P&gt;from 16:00 to 16:30 caused by incident 3 (+30')&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 12:59:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448270#M167261</guid>
      <dc:creator />
      <dc:date>2013-05-10T12:59:34Z</dc:date>
    </item>
    <item>
      <title>Re: Playing with dates, durations and intervals</title>
      <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448271#M167262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are right, there is an error in calculating StartDT in the first temporary table:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IncidentsTmp2:&lt;/P&gt;&lt;P&gt;LOAD *, &lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;&amp;nbsp;&amp;nbsp; if(Type='Start' and rangesum(peek('StartInc'))&amp;nbsp; = 0, Timestamp, peek(StartDT)) as StartDT,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Type='Start' , rangesum(peek('StartInc'),1), rangesum(peek('StartInc'),-1)) as StartInc&lt;/P&gt;&lt;P&gt;Resident IncidentsTmp order by Timestamp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 13:12:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448271#M167262</guid>
      <dc:creator>swuehl</dc:creator>
      <dc:date>2013-05-10T13:12:28Z</dc:date>
    </item>
    <item>
      <title>Re: Playing with dates, durations and intervals</title>
      <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448272#M167263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wonderful !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thaks alot&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 13:34:03 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448272#M167263</guid>
      <dc:creator />
      <dc:date>2013-05-10T13:34:03Z</dc:date>
    </item>
    <item>
      <title>Re: Playing with dates, durations and intervals</title>
      <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448273#M167264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have noticed that if two incidents start or finish at the same time the cumulated value vanish.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any ways to extend this example to : &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -calculate only working hours intervals with workingdays&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -each incident affects an application that may be used by several businesses. The aim is to have a view of cumulated indisponibility by businesses (i think that it may be possible by using group by even if we loose incidents details)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 May 2013 15:46:56 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448273#M167264</guid>
      <dc:creator />
      <dc:date>2013-05-14T15:46:56Z</dc:date>
    </item>
    <item>
      <title>Re: Playing with dates, durations and intervals</title>
      <link>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448274#M167265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Similar issue like before:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IncidentsTmp3:&lt;/P&gt;&lt;P&gt;LOAD * ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;if(Type='End' and StartInc = 0, interval(Timestamp - StartDT)) as IntervalGroup&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RESIDENT IncidentsTmp2 ORDER BY Timestamp desc;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If this doesn't help, please post your test incident time table as INLINE table load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding the interval calculation taking working hours into account, you can do it like this (check also :&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" class="loading active_link" href="https://community.qlik.com/message/272046#272046" title="http://community.qlik.com/message/272046#272046"&gt;http://community.qlik.com/message/272046#272046&lt;/A&gt; )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET TimestampFormat = 'M/D/YYYY hh:mm';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IncidentsTmp:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CROSSTABLE (Type, Timestamp, 1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD * INLINE [&lt;/P&gt;&lt;P&gt;Incident,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start,&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/P&gt;&lt;P&gt;Incident 1,&amp;nbsp;&amp;nbsp; 1/1/2013 10:00,&amp;nbsp; 1/2/2013 11:00&lt;/P&gt;&lt;P&gt;Incident 2,&amp;nbsp;&amp;nbsp; 1/2/2013 10:30,&amp;nbsp; 1/2/2013 11:30&lt;/P&gt;&lt;P&gt;Incident 2b,&amp;nbsp; 1/2/2013 10:10,&amp;nbsp; 1/2/2013 10:20&lt;/P&gt;&lt;P&gt;Incident 3,&amp;nbsp;&amp;nbsp; 1/2/2013 16:00,&amp;nbsp; 1/5/2013 16:30&lt;/P&gt;&lt;P&gt;Incident 4,&amp;nbsp;&amp;nbsp; 1/2/2013 15:40,&amp;nbsp; 1/4/2013 16:00&lt;/P&gt;&lt;P&gt;incident x,&amp;nbsp;&amp;nbsp; 1/3/2013 15:40,&amp;nbsp; 1/7/2013 16:30&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IncidentsTmp2:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD *,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if(Type='Start' and rangesum(peek('StartInc'))&amp;nbsp; = 0, Timestamp, peek(StartDT)) as StartDT,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Type='Start' , rangesum(peek('StartInc'),1), rangesum(peek('StartInc'),-1)) as StartInc&lt;/P&gt;&lt;P&gt;Resident IncidentsTmp order by Timestamp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE IncidentsTmp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IncidentsTmp3:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD * ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Type='End' and StartInc = 0, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interval(&lt;/P&gt;&lt;P&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; rangesum( NetWorkDays(StartDT+1,Timestamp-1,$(vHol)) * MakeTime(8) &lt;/P&gt;&lt;P&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; //8 hours per workday, for all day inbetween the period, excluding bounderies&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,if(NetWorkDays(Timestamp,Timestamp,$(vHol)),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rangemin(rangemax(frac(Timestamp),maketime(15)),maketime(18))-Rangemax(rangemin(frac(Timestamp),maketime(15)),maketime(15))&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +Rangemin(rangemax(frac(Timestamp),maketime(8)),maketime(13))-Rangemax(rangemin(frac(Timestamp),maketime(8)),maketime(8)),0)&lt;/P&gt;&lt;P&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; // working hours last day&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,if(NetWorkDays(StartDT,StartDT,$(vHol)),Rangemin(rangemax(frac(StartDT),maketime(18)),maketime(18))-Rangemax(rangemin(frac(StartDT),maketime(18)),maketime(15))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +Rangemin(rangemax(frac(StartDT),maketime(13)),maketime(13))-Rangemax(rangemin(frac(StartDT),maketime(13)),maketime(8)),0) &lt;/P&gt;&lt;P&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; // working first day&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , if(NetWorkDays(StartDT,StartDT,$(vHol)) and floor(StartDT)=floor(Timestamp),-MakeTime(8)) &lt;/P&gt;&lt;P&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; // correct for first equals last day&lt;/P&gt;&lt;P&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; )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) as IntervalGroup&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RESIDENT IncidentsTmp2 ORDER BY Timestamp desc;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE IncidentsTmp2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Result:&lt;/P&gt;&lt;P&gt;LOAD interval(sum(IntervalGroup)) as OverallDuration &lt;/P&gt;&lt;P&gt;RESIDENT IncidentsTmp3;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 May 2013 16:58:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Playing-with-dates-durations-and-intervals/m-p/448274#M167265</guid>
      <dc:creator>swuehl</dc:creator>
      <dc:date>2013-05-14T16:58:18Z</dc:date>
    </item>
  </channel>
</rss>

