<?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 Calculate Business hours between two dates in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Calculate-Business-hours-between-two-dates/m-p/1798650#M1232267</link>
    <description>&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;with&amp;nbsp;my solution you can calculate&amp;nbsp;Business hours between two dates:&lt;/P&gt;&lt;P&gt;-&amp;nbsp;Take out the holidays&lt;/P&gt;&lt;P&gt;-&amp;nbsp;Determine your beginning and end of working days&lt;/P&gt;&lt;P&gt;- and ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for use:&lt;/P&gt;&lt;P&gt;- use a master calendar and defined&amp;nbsp; Business hours start and end, flag holidays and ...&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;M_Date&lt;/TD&gt;&lt;TD&gt;WeekDay&lt;/TD&gt;&lt;TD&gt;BusStartTime&lt;/TD&gt;&lt;TD&gt;BusEndTime&lt;/TD&gt;&lt;TD&gt;WorkTime&lt;/TD&gt;&lt;TD&gt;IsHoliday&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/21&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/22&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/23&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/24&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/25&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;12:00&lt;/TD&gt;&lt;TD&gt;04:00&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/26&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/27&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/28&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/29&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/30&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/31&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/01&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/02&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/03&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/04&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/05&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/06&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/07&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/08&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;12:00&lt;/TD&gt;&lt;TD&gt;04:00&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/09&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/11&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/13&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/14&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/15&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;12:00&lt;/TD&gt;&lt;TD&gt;04:00&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/16&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/17&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/18&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/19&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/20&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- use&amp;nbsp;subroutine and load data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Sub BusinessWorkTime(vTableName, vCaseId, vStartTime, vEndTime)

	Calendar: LOAD M_Date, BusStartTime, BusEndTime, WorkTime
	FROM [.\Calendar.xlsx](ooxml, embedded labels, table is Cal);
	
	tmp1:
	NoConcatenate LOAD
		[$(vCaseId)] as CaseId
		,[$(vStartTime)] as Start
		,[$(vEndTime)] as End
		,Time(Frac([$(vStartTime)])) as StartTime
		,Time(Frac([$(vEndTime)])) as EndTime
	Resident [$(vTableName)];
	
	Left Join IntervalMatch ( M_Date )
	LOAD Floor(Start), End Resident tmp1;
	
	Left Join (tmp1) LOAD * Resident Calendar;
	
	tmp2:
	NoConcatenate LOAD *,
		Time(if( M_Date &amp;gt; Floor(Start) and M_Date &amp;lt;&amp;gt; Floor(End) , WorkTime,
		if( M_Date = Floor(Start) and M_Date &amp;lt;&amp;gt; Floor(End) , if(StartTime &amp;gt; BusEndTime, 0 , BusEndTime-RangeFractile(0.5,StartTime,BusStartTime,BusEndTime)),
		if( M_Date = Floor(End) and M_Date &amp;lt;&amp;gt; Floor(Start) , if(EndTime &amp;lt; BusStartTime, 0 , RangeMin(EndTime,BusEndTime)-BusStartTime),
		if( M_Date = Floor(End) and M_Date = Floor(Start) , RangeMin(EndTime,BusEndTime)-RangeFractile(0.5,StartTime,BusStartTime,BusEndTime),
		'NA' ))))) as WorkTimeAdj
	Resident tmp1;
	
	Left Join ([$(vTableName)])
	LOAD
		CaseId as [$(vCaseId)],
		Interval(Sum(WorkTimeAdj)) as BusinessCycleTime
	Resident tmp2
	Group by CaseId;
	
	DROP Tables Calendar,tmp1,tmp2;

End Sub
//==============================================
Data:
LOAD id ,
     Created,
     Resolved,
	 Interval(Resolved-Created) as CycleTime
FROM [.\Ticket.xlsx](ooxml, embedded labels, table is Sheet1);

Call BusinessWorkTime('Data','id','Created','Resolved');&lt;/LI-CODE&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;and check result:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;Created&lt;/TD&gt;&lt;TD&gt;Resolved&lt;/TD&gt;&lt;TD&gt;CycleTime&lt;/TD&gt;&lt;TD&gt;BusinessCycleTime&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12976446&lt;/TD&gt;&lt;TD&gt;2021/04/11 10:13:09&lt;/TD&gt;&lt;TD&gt;2021/04/11 10:23:19&lt;/TD&gt;&lt;TD&gt;0:10:10&lt;/TD&gt;&lt;TD&gt;0:10:10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12975880&lt;/TD&gt;&lt;TD&gt;2021/04/11 08:31:36&lt;/TD&gt;&lt;TD&gt;2021/04/11 12:48:26&lt;/TD&gt;&lt;TD&gt;4:16:50&lt;/TD&gt;&lt;TD&gt;4:16:50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12974323&lt;/TD&gt;&lt;TD&gt;2021/04/10 18:34:59&lt;/TD&gt;&lt;TD&gt;2021/04/10 18:48:22&lt;/TD&gt;&lt;TD&gt;0:13:23&lt;/TD&gt;&lt;TD&gt;0:00:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12974191&lt;/TD&gt;&lt;TD&gt;2021/04/10 17:59:19&lt;/TD&gt;&lt;TD&gt;2021/04/10 19:02:26&lt;/TD&gt;&lt;TD&gt;1:03:07&lt;/TD&gt;&lt;TD&gt;0:00:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12971459&lt;/TD&gt;&lt;TD&gt;2021/04/10 10:57:36&lt;/TD&gt;&lt;TD&gt;2021/04/10 18:00:14&lt;/TD&gt;&lt;TD&gt;7:02:38&lt;/TD&gt;&lt;TD&gt;5:32:24&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12971013&lt;/TD&gt;&lt;TD&gt;2021/04/10 09:47:06&lt;/TD&gt;&lt;TD&gt;2021/04/11 07:40:10&lt;/TD&gt;&lt;TD&gt;21:53:04&lt;/TD&gt;&lt;TD&gt;6:42:54&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;Does anyone have a better idea for calculating Business hours between two dates?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 26 Jan 2026 16:26:21 GMT</pubDate>
    <dc:creator>j_nourbakhsh</dc:creator>
    <dc:date>2026-01-26T16:26:21Z</dc:date>
    <item>
      <title>Calculate Business hours between two dates</title>
      <link>https://community.qlik.com/t5/QlikView/Calculate-Business-hours-between-two-dates/m-p/1798650#M1232267</link>
      <description>&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;with&amp;nbsp;my solution you can calculate&amp;nbsp;Business hours between two dates:&lt;/P&gt;&lt;P&gt;-&amp;nbsp;Take out the holidays&lt;/P&gt;&lt;P&gt;-&amp;nbsp;Determine your beginning and end of working days&lt;/P&gt;&lt;P&gt;- and ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for use:&lt;/P&gt;&lt;P&gt;- use a master calendar and defined&amp;nbsp; Business hours start and end, flag holidays and ...&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;M_Date&lt;/TD&gt;&lt;TD&gt;WeekDay&lt;/TD&gt;&lt;TD&gt;BusStartTime&lt;/TD&gt;&lt;TD&gt;BusEndTime&lt;/TD&gt;&lt;TD&gt;WorkTime&lt;/TD&gt;&lt;TD&gt;IsHoliday&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/21&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/22&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/23&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/24&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/25&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;12:00&lt;/TD&gt;&lt;TD&gt;04:00&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/26&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/27&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/28&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/29&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/30&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/03/31&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/01&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/02&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/03&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/04&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/05&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/06&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/07&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/08&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;12:00&lt;/TD&gt;&lt;TD&gt;04:00&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/09&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/11&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/13&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/14&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/15&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;12:00&lt;/TD&gt;&lt;TD&gt;04:00&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/16&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/17&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/18&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/19&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2021/04/20&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;08:00&lt;/TD&gt;&lt;TD&gt;16:30&lt;/TD&gt;&lt;TD&gt;08:30&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- use&amp;nbsp;subroutine and load data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Sub BusinessWorkTime(vTableName, vCaseId, vStartTime, vEndTime)

	Calendar: LOAD M_Date, BusStartTime, BusEndTime, WorkTime
	FROM [.\Calendar.xlsx](ooxml, embedded labels, table is Cal);
	
	tmp1:
	NoConcatenate LOAD
		[$(vCaseId)] as CaseId
		,[$(vStartTime)] as Start
		,[$(vEndTime)] as End
		,Time(Frac([$(vStartTime)])) as StartTime
		,Time(Frac([$(vEndTime)])) as EndTime
	Resident [$(vTableName)];
	
	Left Join IntervalMatch ( M_Date )
	LOAD Floor(Start), End Resident tmp1;
	
	Left Join (tmp1) LOAD * Resident Calendar;
	
	tmp2:
	NoConcatenate LOAD *,
		Time(if( M_Date &amp;gt; Floor(Start) and M_Date &amp;lt;&amp;gt; Floor(End) , WorkTime,
		if( M_Date = Floor(Start) and M_Date &amp;lt;&amp;gt; Floor(End) , if(StartTime &amp;gt; BusEndTime, 0 , BusEndTime-RangeFractile(0.5,StartTime,BusStartTime,BusEndTime)),
		if( M_Date = Floor(End) and M_Date &amp;lt;&amp;gt; Floor(Start) , if(EndTime &amp;lt; BusStartTime, 0 , RangeMin(EndTime,BusEndTime)-BusStartTime),
		if( M_Date = Floor(End) and M_Date = Floor(Start) , RangeMin(EndTime,BusEndTime)-RangeFractile(0.5,StartTime,BusStartTime,BusEndTime),
		'NA' ))))) as WorkTimeAdj
	Resident tmp1;
	
	Left Join ([$(vTableName)])
	LOAD
		CaseId as [$(vCaseId)],
		Interval(Sum(WorkTimeAdj)) as BusinessCycleTime
	Resident tmp2
	Group by CaseId;
	
	DROP Tables Calendar,tmp1,tmp2;

End Sub
//==============================================
Data:
LOAD id ,
     Created,
     Resolved,
	 Interval(Resolved-Created) as CycleTime
FROM [.\Ticket.xlsx](ooxml, embedded labels, table is Sheet1);

Call BusinessWorkTime('Data','id','Created','Resolved');&lt;/LI-CODE&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;and check result:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;Created&lt;/TD&gt;&lt;TD&gt;Resolved&lt;/TD&gt;&lt;TD&gt;CycleTime&lt;/TD&gt;&lt;TD&gt;BusinessCycleTime&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12976446&lt;/TD&gt;&lt;TD&gt;2021/04/11 10:13:09&lt;/TD&gt;&lt;TD&gt;2021/04/11 10:23:19&lt;/TD&gt;&lt;TD&gt;0:10:10&lt;/TD&gt;&lt;TD&gt;0:10:10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12975880&lt;/TD&gt;&lt;TD&gt;2021/04/11 08:31:36&lt;/TD&gt;&lt;TD&gt;2021/04/11 12:48:26&lt;/TD&gt;&lt;TD&gt;4:16:50&lt;/TD&gt;&lt;TD&gt;4:16:50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12974323&lt;/TD&gt;&lt;TD&gt;2021/04/10 18:34:59&lt;/TD&gt;&lt;TD&gt;2021/04/10 18:48:22&lt;/TD&gt;&lt;TD&gt;0:13:23&lt;/TD&gt;&lt;TD&gt;0:00:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12974191&lt;/TD&gt;&lt;TD&gt;2021/04/10 17:59:19&lt;/TD&gt;&lt;TD&gt;2021/04/10 19:02:26&lt;/TD&gt;&lt;TD&gt;1:03:07&lt;/TD&gt;&lt;TD&gt;0:00:00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12971459&lt;/TD&gt;&lt;TD&gt;2021/04/10 10:57:36&lt;/TD&gt;&lt;TD&gt;2021/04/10 18:00:14&lt;/TD&gt;&lt;TD&gt;7:02:38&lt;/TD&gt;&lt;TD&gt;5:32:24&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;12971013&lt;/TD&gt;&lt;TD&gt;2021/04/10 09:47:06&lt;/TD&gt;&lt;TD&gt;2021/04/11 07:40:10&lt;/TD&gt;&lt;TD&gt;21:53:04&lt;/TD&gt;&lt;TD&gt;6:42:54&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;Does anyone have a better idea for calculating Business hours between two dates?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Jan 2026 16:26:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Calculate-Business-hours-between-two-dates/m-p/1798650#M1232267</guid>
      <dc:creator>j_nourbakhsh</dc:creator>
      <dc:date>2026-01-26T16:26:21Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate Business hours between two dates</title>
      <link>https://community.qlik.com/t5/QlikView/Calculate-Business-hours-between-two-dates/m-p/1798716#M1232270</link>
      <description>Check the link below &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://community.qlik.com/t5/QlikView-Documents/Working-Hours-Calculation-excluding-weekends-and-holidays/ta-p/1477884" target="_blank"&gt;https://community.qlik.com/t5/QlikView-Documents/Working-Hours-Calculation-excluding-weekends-and-holidays/ta-p/1477884&lt;/A&gt;</description>
      <pubDate>Mon, 12 Apr 2021 11:02:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Calculate-Business-hours-between-two-dates/m-p/1798716#M1232270</guid>
      <dc:creator>yilmazmurat</dc:creator>
      <dc:date>2021-04-12T11:02:49Z</dc:date>
    </item>
  </channel>
</rss>

