<?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 QVD Quality Management in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350082#M706489</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good Morning Community,&lt;/P&gt;&lt;P&gt;most of our QV Reports load from QVD Files.&lt;/P&gt;&lt;P&gt;While "producing" QVD files on the server (QV10), i sometimes encountered a Problem, which might lead to serious Problems in the reports that load from the QVD files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;In (the rare) case the server crashes while storing a qvd, there still is the (unifinished) QVD on the HDD&lt;/STRONG&gt;, from which the other documents load data.&lt;/P&gt;&lt;P&gt;The unfinished QVD File is still readable, but it contains garbage data (because some of it is missing).&lt;/P&gt;&lt;P&gt;If documents load data from these QVD, they&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- might miss the data (f.e. some fiels/months missing)&lt;/P&gt;&lt;P&gt;- work with the wrong data&lt;/P&gt;&lt;P&gt;- continie do distribute false / incomplete data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Is there a way to make sure, that the creation process of QVD file was finished, or to know if it was interrupted ?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;the only information source i know so far, is the .log file of the .qvw file.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to write a "flag" to the file as athe last step before completing the store process ?&lt;/P&gt;&lt;P&gt;if so, checking the flag before loading a QVD could prevent these problems&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 Mar 2012 10:47:08 GMT</pubDate>
    <dc:creator />
    <dc:date>2012-03-13T10:47:08Z</dc:date>
    <item>
      <title>QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350082#M706489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good Morning Community,&lt;/P&gt;&lt;P&gt;most of our QV Reports load from QVD Files.&lt;/P&gt;&lt;P&gt;While "producing" QVD files on the server (QV10), i sometimes encountered a Problem, which might lead to serious Problems in the reports that load from the QVD files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;In (the rare) case the server crashes while storing a qvd, there still is the (unifinished) QVD on the HDD&lt;/STRONG&gt;, from which the other documents load data.&lt;/P&gt;&lt;P&gt;The unfinished QVD File is still readable, but it contains garbage data (because some of it is missing).&lt;/P&gt;&lt;P&gt;If documents load data from these QVD, they&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- might miss the data (f.e. some fiels/months missing)&lt;/P&gt;&lt;P&gt;- work with the wrong data&lt;/P&gt;&lt;P&gt;- continie do distribute false / incomplete data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Is there a way to make sure, that the creation process of QVD file was finished, or to know if it was interrupted ?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;the only information source i know so far, is the .log file of the .qvw file.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to write a "flag" to the file as athe last step before completing the store process ?&lt;/P&gt;&lt;P&gt;if so, checking the flag before loading a QVD could prevent these problems&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 10:47:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350082#M706489</guid>
      <dc:creator />
      <dc:date>2012-03-13T10:47:08Z</dc:date>
    </item>
    <item>
      <title>QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350083#M706490</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;You can use ScriptErroCount(). If it is &amp;gt; 0 then there were errors during script execution. You can store this value in a file and that would bne your flag. Check out the Help for more information.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 10:50:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350083#M706490</guid>
      <dc:creator>jvitantonio</dc:creator>
      <dc:date>2012-03-13T10:50:54Z</dc:date>
    </item>
    <item>
      <title>QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350084#M706491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would store a record into a log table (QVD) after each store command of the generated "business" QVD. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The loading application then could use this log table to iterate over all successful loaded QVDs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Ralf&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 11:10:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350084#M706491</guid>
      <dc:creator>rbecher</dc:creator>
      <dc:date>2012-03-13T11:10:38Z</dc:date>
    </item>
    <item>
      <title>QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350085#M706492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ralf,&lt;/P&gt;&lt;P&gt;this seems to be a very good idea. A "&lt;STRONG&gt;success.qvd&lt;/STRONG&gt;", in which each application stores the "success" status of each creation of a qvd file.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;After creating a .qvd&lt;/STRONG&gt; every application would &lt;STRONG&gt;load &lt;/STRONG&gt;the file (&lt;STRONG&gt;success.qvd&lt;/STRONG&gt;), &lt;STRONG&gt;add a line &lt;/STRONG&gt;with the &lt;/P&gt;&lt;P&gt;- time&lt;/P&gt;&lt;P&gt;- name of the script (QVW)&lt;/P&gt;&lt;P&gt;- name of the QVD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then store the QVD again. If the &lt;STRONG&gt;script crashes&lt;/STRONG&gt;, it does not affect the &lt;STRONG&gt;success.qvd. &lt;/STRONG&gt;There just is &lt;STRONG&gt;no record &lt;/STRONG&gt;of the &lt;STRONG&gt;new qvd&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When using one of these QVD, the &lt;STRONG&gt;success.qvd &lt;/STRONG&gt;has to be &lt;STRONG&gt;read &lt;/STRONG&gt;in the script too. &lt;/P&gt;&lt;P&gt;The date in the &lt;STRONG&gt;success.qvd &lt;/STRONG&gt;can be compared with the file creation date of the other QVD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will make a few tests and post the code here if it works like it should.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 08:50:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350085#M706492</guid>
      <dc:creator />
      <dc:date>2012-03-21T08:50:34Z</dc:date>
    </item>
    <item>
      <title>QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350086#M706493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yea, this was the idea, basically. But, if many QVW apps (the QVD generators) are loading simultaneously and would try to log into a shared single succes.qvd I would expect a concurrency problem. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If this is the case I would suggest that every QVW would write in a single successXXXX.qvd file per load. A frequently parallel running "watchdog" QVW app could then collect the records of all those successXXXX.qvd files (in a loop) to store this into a main succes.qvd file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Ralf&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 09:17:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350086#M706493</guid>
      <dc:creator>rbecher</dc:creator>
      <dc:date>2012-03-21T09:17:39Z</dc:date>
    </item>
    <item>
      <title>Re: QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350087#M706494</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@ Ralf&lt;/P&gt;&lt;P&gt;I havent thought of that. It doesn mater much, if there are only few generators which are different in size (and timeconsumption) or if the &lt;STRONG&gt;generators are not running paralell&lt;/STRONG&gt;, but in sequential order. In this case, the &lt;STRONG&gt;access times &lt;/STRONG&gt;to the success.qvd&lt;STRONG&gt; wouldnt overlap.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But if many &lt;STRONG&gt;generators are used paralell &lt;/STRONG&gt;which are equal in time consumtion, this can lead to a big &lt;STRONG&gt;problem.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;watchdog &lt;/STRONG&gt;could be a simple &lt;STRONG&gt;join load&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;QVD_succs: // Make Henn&lt;BR /&gt;LOAD * INLINE [&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Q_ID, Q_Date, Q_Time, Q_Name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0, 01.01.2012, 00:02, example.QVD&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ];&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;// STORE QVD_succs INTO $(vQVDStore)QVD_success.QVD; // Henn, runn once&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;QVD_success:&lt;BR /&gt;NoConcatenate LOAD &lt;BR /&gt; Q_Date, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q_Time, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q_Name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //FileName() as File_Name&lt;BR /&gt;FROM&lt;BR /&gt;[$(vQVDStore)QVD_success.QVD]&lt;BR /&gt;(qvd);&lt;/P&gt;&lt;P&gt;QVD_success:&lt;BR /&gt;outer join LOAD&lt;BR /&gt;//Today()&amp;nbsp;&amp;nbsp; as Q_Date,&lt;BR /&gt;Date(Now()) as Q_Date,&lt;BR /&gt;Time(Now()) as Q_Time,&lt;BR /&gt;AutoNumber(Q_Time&amp;amp;Q_Date) as Q_ID,&lt;BR /&gt;'example.QVD' as Q_Name&lt;BR /&gt;RESIDENT QVD_succs;&lt;/P&gt;&lt;P&gt;DROP table QVD_succs;&lt;/P&gt;&lt;P&gt;// RESTORE&lt;BR /&gt;STORE QVD_success INTO $(vQVDStore)QVD_success.QVD; // EGG&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 15:14:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350087#M706494</guid>
      <dc:creator />
      <dc:date>2012-03-21T15:14:24Z</dc:date>
    </item>
    <item>
      <title>Re: QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350088#M706495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you don't need the "outer join". Just LOAD again the 2nd time (from) AUTOGENERATE 1, not from resident. &lt;/P&gt;&lt;P&gt;It will append exactly one row to the previous loaded rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Ralf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: maybe use some variables to set values for the fields..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 20:41:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350088#M706495</guid>
      <dc:creator>rbecher</dc:creator>
      <dc:date>2012-03-21T20:41:10Z</dc:date>
    </item>
    <item>
      <title>Re: QVD Quality Management</title>
      <link>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350089#M706496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using AUTOGENERATE 1 produces an error sometimes. The script simply stops to write new rows to the qvd.&lt;/P&gt;&lt;P&gt;outer join + resident works without errors, which is more important to me than nice looking code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;there is only 1 variable so far: the QVD name which is currently stored. everything else stays the same.&lt;/P&gt;&lt;P&gt;Which value should be replaced by a variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is one last problem:&lt;/P&gt;&lt;P&gt;the usual method of generating ID is not working, RecNo, RowNo creates garbage data.&lt;/P&gt;&lt;P&gt;I used (num(date(Now()))) as quick and dirty solution, but there must be something better.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;Next step:&lt;/SPAN&gt; &lt;STRONG&gt;Aggregate&lt;/STRONG&gt; all $(name)_success.qvd &lt;STRONG&gt;files&lt;/STRONG&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Mar 2012 11:41:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/QVD-Quality-Management/m-p/350089#M706496</guid>
      <dc:creator />
      <dc:date>2012-03-22T11:41:17Z</dc:date>
    </item>
  </channel>
</rss>

