<?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 Background behind the Qlikview data model in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195730#M56116</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Qlikview is different from other datamodels ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We always create compound keys using autonumber to make sure the keys are correctly taken.&lt;/P&gt;&lt;P&gt;The naming in the tables must be unique per table:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g.&lt;/P&gt;&lt;P&gt;table1:&lt;/P&gt;&lt;P&gt;LOAD columnA, columnB, columnX, columnY ... FROM table1;&lt;/P&gt;&lt;P&gt;table2:&lt;/P&gt;&lt;P&gt;LOAD columnA, columnB, colulmnQ, columnR ... FROM table2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;becomes something like:&lt;/P&gt;&lt;P&gt;table1:&lt;/P&gt;&lt;P&gt;LOAD *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , autonumber(table1.columnA+table1.columnB) as compoundkey&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;LOAD columnA as table1.columnA, columnB as table1.columnB ... ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;table2:&lt;/P&gt;&lt;P&gt;LOAD *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , autonumber(table2.columnA+table2.columnB) as compoundkey&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;LOAD columnA as table2.columnA, columnB as table2.columnB ... ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Always keep in mind that fields with the same name are automatically connected to eachother as key ... if more than one field is connected between 2 tables a syntetic key is created ... then it's better to create compound keys and rename the fields to a unique name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anita&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 10 May 2011 11:37:42 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2011-05-10T11:37:42Z</dc:date>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195725#M56111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Tables in the Qlikview data cloud are linked to other tables by a maximum of only 1 field. If more fields have the same name, a synthetic key/table is created. There are several solutions to this, but what I am looking for is some background on why Qlikview can only link on 1 field, as almost every datamodel links tables on more that one key (compound key).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2011 18:35:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195725#M56111</guid>
      <dc:creator />
      <dc:date>2011-04-01T18:35:18Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195726#M56112</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 new to QlikView, so I don't know if I'm correct...but I think QlikView doesn't analyze data that we load in...it just creates tables based on our LOADS....were if two fields with same name are considered same and not differentiated....&lt;/P&gt;&lt;P&gt;Basically it cannot understand that in practice most tables are linked using a compound key....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 03 Apr 2011 13:35:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195726#M56112</guid>
      <dc:creator />
      <dc:date>2011-04-03T13:35:43Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195727#M56113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Johan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I usually do is create compound keys in my script, sometime consisting out of a number of fields. I make sure that the keys exist in both the tables I would like to join. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that this is what you're looking for.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 07:40:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195727#M56113</guid>
      <dc:creator />
      <dc:date>2011-05-10T07:40:35Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195728#M56114</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Johan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what Qlikview does is to link the fields in Different tables with samename as commonfield. Now if you wanted to create a compound Key for two fields you can write the syntax in such a way that the compound key is created. If you dont want to create compound Key just name the fields same in the two tables. It will result in a synthetic Key.&amp;nbsp; But this procedure is not recommended, when lot of Synthetic Keys are present in the Datamodel as it results into 1:n connections and the data is not correct.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;hope it helps.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards&lt;/P&gt;&lt;P&gt;sravan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 07:50:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195728#M56114</guid>
      <dc:creator />
      <dc:date>2011-05-10T07:50:09Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195729#M56115</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Qlikview follows Natural Join and Synthetic Key is not same as compound key.&lt;/P&gt;&lt;P&gt;If you have more than one common columns in tables , qlikview will make synthetic key. If you are doing alias or qualify but you want link based on more than one common column then make compound key.&lt;/P&gt;&lt;P&gt;ie (say)&lt;/P&gt;&lt;P&gt;autonumber( A &amp;amp; '-' &amp;amp; B &amp;amp; '-' &amp;amp; C) as compoundkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in qlikview autonumber ( A &amp;amp; B &amp;amp; C) is not same as autonumber ( B &amp;amp; C &amp;amp; A)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in case of synthetic key order of columns has no effect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Shubhu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 10:18:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195729#M56115</guid>
      <dc:creator />
      <dc:date>2011-05-10T10:18:22Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195730#M56116</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Qlikview is different from other datamodels ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We always create compound keys using autonumber to make sure the keys are correctly taken.&lt;/P&gt;&lt;P&gt;The naming in the tables must be unique per table:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g.&lt;/P&gt;&lt;P&gt;table1:&lt;/P&gt;&lt;P&gt;LOAD columnA, columnB, columnX, columnY ... FROM table1;&lt;/P&gt;&lt;P&gt;table2:&lt;/P&gt;&lt;P&gt;LOAD columnA, columnB, colulmnQ, columnR ... FROM table2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;becomes something like:&lt;/P&gt;&lt;P&gt;table1:&lt;/P&gt;&lt;P&gt;LOAD *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , autonumber(table1.columnA+table1.columnB) as compoundkey&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;LOAD columnA as table1.columnA, columnB as table1.columnB ... ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;table2:&lt;/P&gt;&lt;P&gt;LOAD *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , autonumber(table2.columnA+table2.columnB) as compoundkey&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;LOAD columnA as table2.columnA, columnB as table2.columnB ... ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Always keep in mind that fields with the same name are automatically connected to eachother as key ... if more than one field is connected between 2 tables a syntetic key is created ... then it's better to create compound keys and rename the fields to a unique name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anita&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 11:37:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195730#M56116</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-05-10T11:37:42Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195731#M56117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The generation of autonumber field is not guaranteed to give the same result when first building qvd files and load applications from these files. We have had a scenario in which the auto generated customer number was different between the orders and customers file. This was the result of building the qvd's in multiple scripts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is turned out to be a no-go when using this in combination with storing order data in qvd files per year. No way to be 100% sure that the generated number was similar all the time (perhaps this has changed in QV 10 - haven't tried this yet.)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 12:00:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195731#M56117</guid>
      <dc:creator />
      <dc:date>2011-05-10T12:00:07Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195732#M56118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;storing data with autonumbers will fail, that's true.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;best thing is to save data as is and with loading create the autonumber ... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;autonumbers only go corretly when using the within the same script.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 12:10:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195732#M56118</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-05-10T12:10:11Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195733#M56119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you experienced a significate performance inmprovement using the created autonumbers, compared with the standard compound/regular keys?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 12:14:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195733#M56119</guid>
      <dc:creator />
      <dc:date>2011-05-10T12:14:35Z</dc:date>
    </item>
    <item>
      <title>Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195734#M56120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;With large amounts of data, they say keys based on numbers (created with autonumber) search a lot quicker than regular keys. &lt;/P&gt;&lt;P&gt;We don't have that big amount of data to really notice the difference ... but code-technical we have a neater way of connecting and we have a much better overview of how the data relates and in one overview we exactly know which are the keys (we use the '%' character to indicate the key).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;e.g.&lt;/P&gt;&lt;P&gt;Customer:&lt;/P&gt;&lt;P&gt;LOAD *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,autonumber(Customernr) as %Customernr&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;LOAD Customernr, ... from CustomerTable;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Orders:&lt;/P&gt;&lt;P&gt;LOAD *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,autonumber(OrderCustomer) as %Customernr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,autonumber(Ordernr)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; as %Ordernr&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;LOAD Ordernr, OrderCustomer, ... from OrderTable;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;etc ... &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2011 12:47:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195734#M56120</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-05-10T12:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Background behind the Qlikview data model</title>
      <link>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195735#M56121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anita&lt;/P&gt;&lt;P&gt;I am having some problems trying to load multiple tables that share several common fields ( 3 to 4 fields are common across most of the tables, and the number of field values for the common fields are also different, sometimes being the field values of one field a subset of the values for other field ). As a result I get multiple synthetic keys ( and I guess the script load takes more time than needed due to poor performance ). In fact I am a bit lost about deciding if I should use left joins, outer joins ..etc to reduce the number of tables and get rid of the sync keys.&lt;/P&gt;&lt;P&gt;Reading another thread on these issues I learnt that possible solutions could be : Use of Concatenation, use of Composite keys ( as you describe here ) or use of a Key Fields Table.&lt;/P&gt;&lt;P&gt;for composite keys, do you know when to use Hash128, Autonumber, Autonumber128 or Autonumber256 ? Any substantial differences ?&lt;/P&gt;&lt;P&gt;About the other methods to avoid synthetic keys, like building a key fields table, any experience or ideas you may suggest ? &lt;/P&gt;&lt;P&gt;Here is the structure of the 3 tables I am using ( it looks simple, but it´s giving me a hard time ).&lt;/P&gt;&lt;P&gt;Thanks for any help !&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t_MST://table with billing dates&lt;/P&gt;&lt;P&gt;//dimension fields&lt;/P&gt;&lt;P&gt;DataSet, // this field has the format YYYYMMDD&lt;/P&gt;&lt;P&gt;P_Prj_Nr,&lt;/P&gt;&lt;P&gt;Prj_WBS,&lt;/P&gt;&lt;P&gt;Ntw_Nr,&lt;/P&gt;&lt;P&gt;Activ_Nr,&lt;/P&gt;&lt;P&gt;//measures fields&lt;/P&gt;&lt;P&gt;Plan_Bill_date,&lt;/P&gt;&lt;P&gt;Actual_Bill_date;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t_Activ://table with schedule dates (for Gantt Chart)&lt;/P&gt;&lt;P&gt;//dimensions fields&lt;/P&gt;&lt;P&gt;DataSet,&lt;/P&gt;&lt;P&gt;P_Prj_Nr,&lt;/P&gt;&lt;P&gt;Prj_WBS,&lt;/P&gt;&lt;P&gt;Ntw_Nr,&lt;/P&gt;&lt;P&gt;Activ_Nr,&lt;/P&gt;&lt;P&gt;Activ_Desc,&lt;/P&gt;&lt;P&gt;//measures fields&lt;/P&gt;&lt;P&gt;Late_Start,&lt;/P&gt;&lt;P&gt;Late_Finish,&lt;/P&gt;&lt;P&gt;Actual_Start,&lt;/P&gt;&lt;P&gt;Actual_Finish;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t_Financials://table with costs and revenues per projects WBS&lt;/P&gt;&lt;P&gt;//dimensions fields&lt;/P&gt;&lt;P&gt;DataSet,&lt;/P&gt;&lt;P&gt;Prj_Name,&lt;/P&gt;&lt;P&gt;Prj_WBS,&lt;/P&gt;&lt;P&gt;Activ_Nr,&lt;/P&gt;&lt;P&gt;Activ_Desc,&lt;/P&gt;&lt;P&gt;Prj_Mgr_Name,&lt;/P&gt;&lt;P&gt;//measures fields &lt;/P&gt;&lt;P&gt;Plan_Revenue,&lt;/P&gt;&lt;P&gt;Plan_Cost,&lt;/P&gt;&lt;P&gt;Plan_Margin,&lt;/P&gt;&lt;P&gt;Actual_Cost;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jul 2011 10:06:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Background-behind-the-Qlikview-data-model/m-p/195735#M56121</guid>
      <dc:creator>quiquehm</dc:creator>
      <dc:date>2011-07-26T10:06:25Z</dc:date>
    </item>
  </channel>
</rss>

