<?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 Performance issues with Intervalmatch in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150430#M28443</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit,&lt;/P&gt;&lt;P&gt;I'm aware of the fact that a single connection might appear i.e for for each distinct datekey between date span. The Idea is to be able to provide analysis per day basis. You can limit the subset to week interval, but assuming there are roughly 700000 active connection at any given time, and we limit to current year, the result set will be 36.4M records. still too much...&lt;/P&gt;&lt;P&gt;The purpose of this analysis is be able to show breakdown of active connections, accross varous perios interval and broken down into several dimmesional properties (that's why i've used the link (star) approach)&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Dror&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 29 Jul 2009 04:30:09 GMT</pubDate>
    <dc:creator />
    <dc:date>2009-07-29T04:30:09Z</dc:date>
    <item>
      <title>Performance issues with Intervalmatch</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150428#M28441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm a QV novice so please be patient with me...&lt;/P&gt;&lt;P&gt;I'm building a solution for an energy company. I was asked to provide a report which will give the accurate number of active connections for each calendar day.&lt;/P&gt;&lt;P&gt;The interval table, named 'Link' contains the following fields:&lt;/P&gt;&lt;P&gt;%Connection_ID - Key to Connection table&lt;BR /&gt; %SupplierRegister_ID - "PK" for 'Link' table&lt;BR /&gt; StartSupplyDate_ID - Connection start date (Integer form of date. e.g. 20090728)&lt;BR /&gt; EndSupplyDate_ID - Connection end date (Integer form of date. e.g. 20090728)&lt;BR /&gt; %Customer_ID - Key to customer date&lt;/P&gt;&lt;P&gt;This table contains at the moment 1.6M records. It is connected, using Intervalmatch to Master date table.&lt;/P&gt;&lt;P&gt;Master date table contains a row for each date since January first 2008 (570 records).&lt;/P&gt;&lt;P&gt;Code:&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;SET&lt;/B&gt; NullInterpret = &lt;B&gt;&lt;I&gt;$(vDateKey)&lt;/I&gt;&lt;/B&gt;;&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;NullAsValue&lt;/B&gt; EndSupplyDate_ID;&lt;/P&gt;&lt;P style="font-style: italic; line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;/P&gt;&lt;P style="font-style: italic; line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;Link:&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;LOAD&lt;/B&gt; %Connection_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;%SupplierRegister_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;StartSupplyDate_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;StartSupplyMessage_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;EndSupplyDate_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;EndSupplyMessage_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;%Customer_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;_Link_created_date&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;FROM&lt;/B&gt; QVDs\LinkTable.qvd] (qvd);&lt;/P&gt;&lt;P style="font-style: italic; line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;Connection:&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;LOAD&lt;/B&gt; %Connection_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;EAN,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Connection Product],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Connection Street],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Connection HouseNo],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Connection HouseNoExtra],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Connection Postcode],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Connection City]&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;FROM&lt;/B&gt; QVDs\Connection.qvd] (qvd);&lt;/P&gt;&lt;P style="font-style: italic; line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;Customer:&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;LOAD&lt;/B&gt; %Customer_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Customer Name],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Customer PhoneNo],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Customer Email],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Customer BirthDate],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;_Customer_created_date&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;FROM&lt;/B&gt; QVDs\Customer.qvd (qvd);&lt;/P&gt;&lt;P style="font-style: italic; line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;Date:&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;LOAD&lt;/B&gt;&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;%Date_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;Date,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;CY_Flag,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;Weekday,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;[Week Number],&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;Year,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;Month,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;Day,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;Quarter,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;(Year * 10000) + (Month * 100) + Day &lt;B&gt;AS&lt;/B&gt; DateKey&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;FROM&lt;/B&gt; QVDs\DATE.qvd] (qvd);&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;&lt;B&gt;LEFT&lt;/B&gt; &lt;B&gt;JOIN&lt;/B&gt;(&lt;I&gt;Link&lt;/I&gt;) INTERVALMATCH (%Connection_ID, DateKey)&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;"&gt;LOAD %Connection_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;StartSupplyDate_ID,&lt;/P&gt;&lt;P style="line-height: normal; margin: 0cm 0cm 0pt; padding-left: 30px; mso-layout-grid-align: none;"&gt;EndSupplyDate_ID&lt;/P&gt;&lt;P&gt;RESIDENT Link;&lt;/P&gt;&lt;P&gt;Because of the sheer amount of volume data, I keep getting the notorios VIRTUAL MEMORY error. When making the link, Link table exceeds 50M records. This is a major performance overhead. As this is a part of POC project we would like to show that QV can handle large amount of date, w/out killing the server...&lt;/P&gt;&lt;P&gt;Maybe IntervalMatch is not the right approach? Is there another solution?&lt;/P&gt;&lt;P&gt;Help will be greatly appreciated!&lt;/P&gt;&lt;P&gt;Dror&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jul 2009 15:51:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150428#M28441</guid>
      <dc:creator />
      <dc:date>2009-07-28T15:51:26Z</dc:date>
    </item>
    <item>
      <title>Performance issues with Intervalmatch</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150429#M28442</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I can see from the code that you are creating multiple records for each connection id for e.g if a connection has start as Jan 2008 and end date as today, it is going to create as many records for that id (570 records for same connection with distinct datekey). My question is do you really need this kind of data? If yes, what purpose it serves?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jul 2009 18:31:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150429#M28442</guid>
      <dc:creator />
      <dc:date>2009-07-28T18:31:01Z</dc:date>
    </item>
    <item>
      <title>Performance issues with Intervalmatch</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150430#M28443</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit,&lt;/P&gt;&lt;P&gt;I'm aware of the fact that a single connection might appear i.e for for each distinct datekey between date span. The Idea is to be able to provide analysis per day basis. You can limit the subset to week interval, but assuming there are roughly 700000 active connection at any given time, and we limit to current year, the result set will be 36.4M records. still too much...&lt;/P&gt;&lt;P&gt;The purpose of this analysis is be able to show breakdown of active connections, accross varous perios interval and broken down into several dimmesional properties (that's why i've used the link (star) approach)&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Dror&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jul 2009 04:30:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150430#M28443</guid>
      <dc:creator />
      <dc:date>2009-07-29T04:30:09Z</dc:date>
    </item>
    <item>
      <title>Performance issues with Intervalmatch</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150431#M28444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First, I hope you are trying this in 64bit, not 32bit.&lt;/P&gt;&lt;P&gt;Is the only purpose of the IntervalMatch to link %Connection_ID to various periods? That is, select a [Week Number] and show all the %Connection_ID that were active that week? If so, can you use a simple IntervalMatch instead of the Extended form. Meaning:&lt;/P&gt;&lt;P&gt;LEFT JOIN(Link) INTERVALMATCH (DateKey)&lt;BR /&gt;LOAD StartSupplyDate_ID, EndSupplyDate_ID RESIDENT Link;&lt;/P&gt;&lt;P style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;Don't know if that may work out better. IntervalMatch does generate a lot of rows. Set Analysis is another approach you may consider.&lt;/P&gt;&lt;P style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;/P&gt;&lt;P style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;Any chance you can post a QVW with a small amount of records? If you can upload a qvw, maybe we can make a better analysis of the problem. See &lt;A href="http://community.qlik.com/wikis/qlikview-wiki/preparing-examples-for-upload-reduction-and-data-scrambling.aspx"&gt;http://community.qlik.com/wikis/qlikview-wiki/preparing-examples-for-upload-reduction-and-data-scrambling.aspx&lt;/A&gt; if you have concerns about privacy.&lt;/P&gt;&lt;P style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;/P&gt;&lt;P style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;-Rob&lt;/P&gt;&lt;P style="PADDING-LEFT:30px;MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;/P&gt;&lt;P style="PADDING-LEFT:30px;MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jul 2009 08:14:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150431#M28444</guid>
      <dc:creator>rwunderlich</dc:creator>
      <dc:date>2009-07-29T08:14:28Z</dc:date>
    </item>
    <item>
      <title>Performance issues with Intervalmatch</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150432#M28445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Dror,&lt;/P&gt;&lt;P&gt;Sorry, I accidently hit the 'Suggest as Answer' button on your post.&lt;/P&gt;&lt;P&gt;Even I had a similar situation in one of my qv application..we were using intervalmatch which created millions of records and began causing memory issues. Below is what we did in that case:&lt;/P&gt;&lt;P&gt;1) Capture one record per id for each month from start till end date. In date key we used to keep the begin date of the month.&lt;/P&gt;&lt;P&gt;2) If there is a change in any attribute of the id, capture that as a new record. Date key for this record could be kept as the actual date when the change happened.&lt;/P&gt;&lt;P&gt;Take example of a stock 'XYZ', analyst started rating this stock from Jan 08 till Jan 09. In current scenario, we create 365 records for this stock. However, if the rating of this stock has changed only twice during this time period, we can work with just 14 records (12 records for 12 months and 2 records where ratings changed). Next, you create a date island table which is not linked to any other table in the model and has all the date attributes. Now the chart where you want to show data across intervals should compare it's datekey with the date from island table.&lt;/P&gt;&lt;P&gt;Hope this might be helpful in your case....&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jul 2009 13:06:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150432#M28445</guid>
      <dc:creator />
      <dc:date>2009-07-29T13:06:53Z</dc:date>
    </item>
    <item>
      <title>Performance issues with Intervalmatch</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150433#M28446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit, Rob&lt;/P&gt;&lt;P&gt;Thanks for your help. It has certainly gaven me a lead...&lt;/P&gt;&lt;P&gt;I will try post scaled-down app later.&lt;/P&gt;&lt;P&gt;Dror&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Jul 2009 03:14:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150433#M28446</guid>
      <dc:creator />
      <dc:date>2009-07-31T03:14:43Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issues with Intervalmatch</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150434#M28447</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dror,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you get any solution to this? i am facing the same issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Rajni Batra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Nov 2014 08:28:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-issues-with-Intervalmatch/m-p/150434#M28447</guid>
      <dc:creator>rajni_batra</dc:creator>
      <dc:date>2014-11-21T08:28:51Z</dc:date>
    </item>
  </channel>
</rss>

