<?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: What is synthetic keys? How it can be avoided? in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281885#M1182895</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;When we load data into qlikview there could be occasions where the fields of two tables may be the same name. The qlikview creates associations when loading the data to make it easier to manipulate but it could cause a problem when there are more than one pair of matching fields in two tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Solution: As the guys have mentioned above, you should rename it using either alias or qualify.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use the alias you can give a field name of your choosing eg: DeliveryDate as OrderDeliveryDate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use the qualify keyword it would append the table name and then the field name - &amp;lt;table_name&amp;gt;.fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As there is no chance of tables with similar names, the qualify keyword will be a preferred choice if there are may fields to be changed. However if there is only a handful of fields, then you can use the field aliasing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Aug 2014 08:24:57 GMT</pubDate>
    <dc:creator />
    <dc:date>2014-08-08T08:24:57Z</dc:date>
    <item>
      <title>What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281878#M1182887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is synthetic keys? How it can be avoided?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Attitude&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2012 09:23:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281878#M1182887</guid>
      <dc:creator />
      <dc:date>2012-01-17T09:23:55Z</dc:date>
    </item>
    <item>
      <title>What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281879#M1182889</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;Please go through Page 473 of QlikView Reference Manaual. It will give your fair idea about Synthetic key and it can be avoided in two ways.&lt;/P&gt;&lt;P&gt;1. Use Qualify&lt;/P&gt;&lt;P&gt;2. Use Alias&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;DJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2012 09:35:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281879#M1182889</guid>
      <dc:creator />
      <dc:date>2012-01-17T09:35:14Z</dc:date>
    </item>
    <item>
      <title>What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281880#M1182890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if more than&amp;nbsp; one column linked between two tables its create sythetic key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and you remove it using qualify/unqualify.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;qualify all the fields&lt;/P&gt;&lt;P&gt;and unqulify the key field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;synthetic key creates&amp;nbsp; synthetic tables in Contol +T(table viewer)&lt;/P&gt;&lt;P&gt;sythetic table tells you how many fields creates synthic key&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this help&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2012 09:38:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281880#M1182890</guid>
      <dc:creator>SunilChauhan</dc:creator>
      <dc:date>2012-01-17T09:38:19Z</dc:date>
    </item>
    <item>
      <title>What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281881#M1182891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; You might want to read a thread titled "Should we stop worrying and love the synthetic key?" by John Witherspoon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2012 12:24:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281881#M1182891</guid>
      <dc:creator>m_woolf</dc:creator>
      <dc:date>2012-01-17T12:24:43Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281882#M1182892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi At tude,&lt;/P&gt;&lt;P&gt;You can find more info about Synthetic keys in the QlikView manual. &lt;/P&gt;&lt;P&gt;The concept is, when you join two tables, it can be done based on primary key and foreign key relationship based on a particular column. We can treat it as a normal join between the two tables. The problem starts when the joining is on more than one columns. &lt;/P&gt;&lt;P&gt;The synthetic key scenario is when you have same column name for more than one columns between the loaded tables (e.g. C1 &amp;amp; C2 is common between Table 1 &amp;amp; Table 2). QlikView internally relates those tables based on the common column names and create another internal table (synthetic table) with the matching columns and a synthetic key generated by all possible combined values of the matching columns (C1, C2 and Synthetic Key column....starts with '$'). The impact could be a datamodel with unncessery jumble as well as wastage of memory. e.g. think of two tables with millions of rows. If they have synthetic keys between them, that would generate another table, with large number of rows...and completely unnecessery...finally, eating up memory. And a 'not so well' designed datamodel can of course lead to performance impact in terms of time, as you know.&lt;/P&gt;&lt;P&gt;Now, the question is, if you really want to get rid of the issue, how to fix it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Using QUALIFY&lt;/P&gt;&lt;P&gt;This enforces QlikView to qualify all/selected fields. Qualify implements the check on full path of the field (e.g. Field is designated by Tablename.FieldName).&lt;/P&gt;&lt;P&gt;e.g. &lt;/P&gt;&lt;P&gt;Qualify *;&lt;BR /&gt;turns qualification on for all field names of the subsequent table(s).&lt;/P&gt;&lt;P&gt;Qualify “*_Name”;&lt;BR /&gt;turns qualification on for all field names ending with _Name in the ssubsequent table(s).&lt;/P&gt;&lt;P&gt;Qualify “Name_*”;&lt;BR /&gt;turns qualification on for all field names Starting with Name_ in the ssubsequent table(s).&lt;/P&gt;&lt;P&gt;Qualify “Amt*”,Profit;&lt;BR /&gt;turns qualification on for Profit and all field names starting with Amt.&lt;/P&gt;&lt;P&gt;Qualify S???;&lt;BR /&gt;turns qualification on for four character field names starting with S.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ofcourse you don't always need to qualify ALL the fields of a table. E.g. you have C1 &amp;amp; C2, two common columns between Table 1 &amp;amp; Table 2. C1 is used to join the 2 tables and C2 is the column that you think might create Syn Key. You will do something like:&lt;/P&gt;&lt;P&gt;Qualify *;&lt;/P&gt;&lt;P&gt;Unqualify C1;&lt;/P&gt;&lt;P&gt;Select * from Table1;&lt;/P&gt;&lt;P&gt;Select * from Table2;&lt;/P&gt;&lt;P&gt;This will ensure that only C1 is used to join the two tables, eventually nullifying the possibility of Syn Key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Autonumber&lt;/P&gt;&lt;P&gt;If you need to concat the Syn Key candidate fields and create your own key, you can use Autonumber/Autonumberhash128/Autonumberhash256 function. This will create a unique integer value for each distinct combination of the concateneted columns. Autonumberhash128 and Autonumberhash256 creates 128bit and 256bit values respectively.&lt;/P&gt;&lt;P&gt;E.g. In the previous example, autonumber(C1&amp;amp;C2) or autonumberhash128(C1,C2) or autonumberhash256(C1,C2) will create the necessery uniqueness.&lt;/P&gt;&lt;P&gt;One word of cauton using Autonumber is, as they are system generated, you do not have any control over the values. And for external QVDs, since the range of unique autonumber values are limited, uniqueness is not guranted. the hash128 and hash256 functions particularly address this issue and widens the range to ensure uniqueness.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Aliasing&lt;/P&gt;&lt;P&gt;If you alias the comflicting fields, i.e. the Syn Key candidate fields, they would be treated as different fields and will not be joined automatically by QV. This is a simple solution based on how flexible the requirements are, in renaming the fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ofcourse you will find many other examples in this forum/QV manual that will strenthen your concept. This is my understanding from my experience with QV. Please let me know if it answers your question on my post.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Apr 2013 16:54:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281882#M1182892</guid>
      <dc:creator />
      <dc:date>2013-04-09T16:54:53Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281883#M1182893</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;Synthetic Keys&lt;/P&gt;&lt;P&gt;When two or more input tables have two or more fields in common, this&lt;/P&gt;&lt;P&gt;implies a composite key relationship. QlikView handles this through synthetic&lt;/P&gt;&lt;P&gt;keys. These keys are anonymous fields that represent all occurring&lt;/P&gt;&lt;P&gt;combinations of the composite key. When the number of composite keys&lt;/P&gt;&lt;P&gt;increases, depending on data amounts, table structure and other factors,&lt;/P&gt;&lt;P&gt;QlikView may or may not handle them gracefully. QlikView may end up&lt;/P&gt;&lt;P&gt;using excessive amount of time and/or memory. Unfortunately the actual&lt;/P&gt;&lt;P&gt;limitations are virtually impossible to predict, which leaves only trial and&lt;/P&gt;&lt;P&gt;error as a practical method to determine them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think the best way to avoid Synthetic Keys is to (a) Rename the fields, (b) if you don't need the one of the field you delete it from your script.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Gabriel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 15:08:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281883#M1182893</guid>
      <dc:creator>Gabriel</dc:creator>
      <dc:date>2013-04-11T15:08:43Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281884#M1182894</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;By using qualify key word or by changing the field name&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 15:49:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281884#M1182894</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-11T15:49:14Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281885#M1182895</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;When we load data into qlikview there could be occasions where the fields of two tables may be the same name. The qlikview creates associations when loading the data to make it easier to manipulate but it could cause a problem when there are more than one pair of matching fields in two tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Solution: As the guys have mentioned above, you should rename it using either alias or qualify.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use the alias you can give a field name of your choosing eg: DeliveryDate as OrderDeliveryDate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use the qualify keyword it would append the table name and then the field name - &amp;lt;table_name&amp;gt;.fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As there is no chance of tables with similar names, the qualify keyword will be a preferred choice if there are may fields to be changed. However if there is only a handful of fields, then you can use the field aliasing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Aug 2014 08:24:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281885#M1182895</guid>
      <dc:creator />
      <dc:date>2014-08-08T08:24:57Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281886#M1182896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Synthetic keys is a Complex Keys consisting of two or more fields connecting tables, Resource Heavy, May slow down calculations, Make a document harder to understand and maintain and Should be removed if possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to Removed Synthetic keys:&lt;/P&gt;&lt;P&gt;- Renaming a fileds use( As) ex: Customer as %Customer&lt;/P&gt;&lt;P&gt;-Adding a Remarks or comment out unneccesary fields ex: // Customer,&lt;/P&gt;&lt;P&gt;-Concatenating fields &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Apr 2015 08:34:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281886#M1182896</guid>
      <dc:creator />
      <dc:date>2015-04-28T08:34:27Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281887#M1182897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Go through the below link you will get more insights on the raised topic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/thread/101093"&gt;Synthetic keys: to have or not to have ?&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Apr 2015 08:37:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281887#M1182897</guid>
      <dc:creator>vishsaggi</dc:creator>
      <dc:date>2015-04-28T08:37:19Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281888#M1182898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;It's the way Qlikview joins 2 tables with more than one columns named the same. Qlikview creates a temporary table and calls this a 'Synthetic Key.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;There are various ways to avoid the synthetic keys in Qlikview as follows.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;1)renaming the fields&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;2) commenting the fields.&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;3)joining&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;4)concatenate&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;5)complex keys&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;6)link table&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;7)qualify.&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;find the attachment,it may help you to understand.&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;R/Murali&lt;/P&gt;&lt;H1 style="font-size: 26px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/H1&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Dec 2016 07:21:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281888#M1182898</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-12-21T07:21:25Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281889#M1182899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/qlik-blogpost/3064"&gt;Synthetic Keys&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Dec 2016 08:46:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281889#M1182899</guid>
      <dc:creator>varshavig12</dc:creator>
      <dc:date>2016-12-21T08:46:18Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281890#M1182900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;QlikView&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt; adds &lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;synthetic&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt; table (as $Syn table) and&lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;synthetic key&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt; (as $Syn symbol) to the data model. The &lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;keys&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt; are added to the user uploaded tables and are used to join with &lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;synthetic&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt; table. &lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;Synthetic key&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt; is&lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;QlikView's&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt; method to deal with &lt;/SPAN&gt;&lt;STRONG style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;composite keys&lt;/STRONG&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 16px;"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Dec 2016 08:48:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281890#M1182900</guid>
      <dc:creator>vardhancse</dc:creator>
      <dc:date>2016-12-21T08:48:17Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281891#M1182901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; whenever two/more tables have field names in common, then qlikview automatically creates a table with those field names, which are nothing but synthetic keys. To avoid it, just rename the field names&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Dec 2016 10:57:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281891#M1182901</guid>
      <dc:creator />
      <dc:date>2016-12-21T10:57:19Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281892#M1182902</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,&lt;/P&gt;&lt;P&gt;1. Link Key&lt;/P&gt;&lt;P&gt;2. Concatenate&lt;/P&gt;&lt;P&gt;3. Joins&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer: &lt;A href="https://www.analyticsvidhya.com/blog/2014/12/remove-synthetic-key-concatenation-link-table-qlikview/" title="https://www.analyticsvidhya.com/blog/2014/12/remove-synthetic-key-concatenation-link-table-qlikview/"&gt;https://www.analyticsvidhya.com/blog/2014/12/remove-synthetic-key-concatenation-link-table-qlikview/&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Dec 2016 11:38:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281892#M1182902</guid>
      <dc:creator>muthukumar77</dc:creator>
      <dc:date>2016-12-21T11:38:49Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281893#M1182903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin-bottom: 13.0pt; margin-left: text-indent:-.25in; text-align: left;"&gt;&lt;SPAN style="color: #2d7f1d; font-size: 19.0pt;"&gt;•&lt;/SPAN&gt;&lt;SPAN style="font-size: 19.0pt; font-family: Arial; color: #363636;"&gt;When there is more than one field in common between tables, is called Synthetic key.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 13.0pt; margin-left: text-indent:-.25in; text-align: left;"&gt;&lt;SPAN style="font-size: 19.0pt; font-family: Arial; color: #363636;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 13.0pt; margin-left: text-indent:-.25in; text-align: left;"&gt;&lt;SPAN style="font-size: 19.0pt; font-family: Arial; color: #363636;"&gt;4 ways to remove synthetic key&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 13.0pt; margin-left: text-indent:-.25in; text-align: left;"&gt;&lt;SPAN style="font-size: 19.0pt; font-family: Arial; color: #363636;"&gt;1. using JOIN between tables&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 13.0pt; margin-left: text-indent:-.25in; text-align: left;"&gt;&lt;SPAN style="font-size: 19.0pt; font-family: Arial; color: #363636;"&gt;2.create CONCATENATED KEY&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 13.0pt; margin-left: text-indent:-.25in; text-align: left;"&gt;&lt;SPAN style="font-size: 19.0pt; font-family: Arial; color: #363636;"&gt;3.create CONCATENATED TABLE&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 13.0pt; margin-left: text-indent:-.25in; text-align: left;"&gt;&lt;SPAN style="font-size: 19.0pt; font-family: Arial; color: #363636;"&gt;4.create LINK TABLE&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Dec 2016 22:50:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281893#M1182903</guid>
      <dc:creator />
      <dc:date>2016-12-21T22:50:28Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281894#M1182904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;When two table has more than one field in common ,it forms synthetic key...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use alias name ..its easy way to remove synthetic key..&lt;/P&gt;&lt;P&gt;eg: consider EmployeeID is forming synthetic key between two tables means alias the EmployeeID using AS EMPLOYEEID..this will remove synthetic key.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jan 2017 09:33:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281894#M1182904</guid>
      <dc:creator>praveenkumar_s</dc:creator>
      <dc:date>2017-01-06T09:33:39Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281895#M1182905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H3 style="font-family: Oswald, Arial, sans-serif; font-weight: 500; color: #333333; margin-top: 0.1em; margin-bottom: 0.6em; font-size: 24px;"&gt;&lt;SPAN style="color: #333399;"&gt;&lt;STRONG style="color: #333333;"&gt;What are Synthetic Keys or Tables?&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;&lt;P style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif; text-align: justify;"&gt;When we load two tables with a common field name in both tables, the tables get associated automatically based on the common fields. This is the associative functionality of QlikView.&lt;/P&gt;&lt;P style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif; text-align: justify;"&gt;However, when we have more than one common field between two or more tables, QlikView creates “SYNTHETIC KEYS” and “SYNTHETIC TABLE”. QlikView adds synthetic table (as $Syn table) and synthetic key (as $Syn symbol) to the data model. The keys are added to the user uploaded tables and are used to join with synthetic table.&lt;/P&gt;&lt;P style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif; text-align: justify;"&gt;Synthetic key is QlikView’s method to deal with composite keys. The Synthetic table contains a synthetic key that is a composite of all the combinations of the multiple key fields connecting the tables. In our data model, we had two fields common “Branch” and “Region” so QlikView created synthetic key and synthetic table on its own. If we look at the source table view of table viewer, it shows that two fields are connected between these two tables.&lt;/P&gt;&lt;P style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif; text-align: justify;"&gt;&lt;IMG alt="Synthetic Key" class="jive-image" src="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/09/Synthetic_Key_QlikView_2.png" /&gt;&lt;/P&gt;&lt;P style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif; text-align: justify;"&gt;&lt;/P&gt;&lt;H3 style="font-family: Oswald, Arial, sans-serif; font-weight: 500; color: #333333; margin-top: 0.1em; margin-bottom: 0.6em; font-size: 24px;"&gt;&lt;SPAN style="color: #333399;"&gt;&lt;STRONG style="color: #333333;"&gt;How to remove Synthetic keys?&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H3&gt;&lt;P style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif;"&gt;To remove synthetic keys, we first look at our data model and make necessary changes, if required. We have multiple methods to remove synthetic keys but it depends upon the requirement&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG style="color: #333333;"&gt;Removing fields:&lt;/STRONG&gt; When common fields causing synthetic keys are not required in data model and doing so will not affect the relationship between two tables. Removing fields can be done by commenting or removing field from load script.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif;"&gt;&lt;IMG alt="Synthetic Key" class="aligncenter jive-image wp-image-6673 size-full" height="270" src="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/09/Synthetic_Key_QlikView_5.png" style="text-align: center; margin-left: auto; margin-right: auto; margin-bottom: 13px; padding-top: 6px;" width="536" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG style="color: #333333;"&gt;Renaming fields (Using QUALIFY):&lt;/STRONG&gt; When common fields causing synthetic keys are not&amp;nbsp; same field (not containing similar values), These are actually different fields with same name. Renaming can be done by using “AS” clause. We can also achieve this by using QUALIFY statement. With qualified statement, fields names are converted in the “TableName.FieldName” format&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN style="margin: 0 0 21px; font-size: 16px; color: #080e14; font-family: Raleway, Arial, sans-serif;"&gt;&lt;A href="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/09/Synthetic_Key_QlikView_3.png" style="background: transparent; color: #0000ff; border-bottom: 1px dotted #cacaca;"&gt;&lt;IMG alt="Synthetic Key" class="wp-image-6671 aligncenter jive-image size-full" height="270" src="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/09/Synthetic_Key_QlikView_3.png" style="border-width: 0px; text-align: center; margin-left: auto; margin-right: auto; margin-bottom: 13px; padding-top: 6px;" width="535" /&gt;&lt;/A&gt;&lt;STRONG style="color: #333333;"&gt;&amp;nbsp; Using QUALIFY&lt;/STRONG&gt;&lt;A href="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/11/Qlik_View_Synthetic_Keys.png" style="background: transparent; color: #0000ff; border-bottom: 1px dotted #cacaca;"&gt;&lt;IMG alt="Qlik_View_Synthetic_Keys" class="wp-image-9600 alignnone jive-image size-full" height="278" src="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/11/Qlik_View_Synthetic_Keys.png" style="border-width: 0px; margin-bottom: 13px; padding-top: 6px;" width="966" /&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt; &lt;STRONG style="color: #333333;"&gt;Autonumber/ Composite Keys:&lt;/STRONG&gt; When we know common fields causing synthetic keys are important for data model then we can create our own key to handle composite keys. We can also use Autonumber / Autonumberhash128 / Autonumberhash256 functions to create composite keys. These will create a unique bit value for each distinct combination of the concatenated columns. Autonumberhash128 and Autonumberhash256 creates 128bit and 256bit values respectively. Please note Autonumber may be problematic in applications generating the QVD files for use in other QlikView applications.&lt;A href="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/09/Synthetic_Key_QlikView_6.png" style="background: transparent; color: #0000ff; border-bottom: 1px dotted #cacaca;"&gt;&lt;IMG alt="Synthetic Key" class="aligncenter jive-image wp-image-6674 size-full" height="270" src="https://www.analyticsvidhya.com/blog/wp-content/uploads/2014/09/Synthetic_Key_QlikView_6.png" style="border-width: 0px; text-align: center; margin-left: auto; margin-right: auto; margin-bottom: 13px; padding-top: 6px;" width="535" /&gt;&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;We also have other methods to remove synthetic keys like “&lt;STRONG style="color: #333333;"&gt;Creating a link table&lt;/STRONG&gt;“, “&lt;STRONG style="color: #333333;"&gt;Creating Explicit Joins&lt;/STRONG&gt; ” and “&lt;STRONG style="color: #333333;"&gt;Concatenating similar tables&lt;/STRONG&gt;“. These topics must be discussed in detail and will explore it in future.&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jan 2017 11:39:45 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281895#M1182905</guid>
      <dc:creator>alis2063</dc:creator>
      <dc:date>2017-01-07T11:39:45Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281896#M1182906</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When any two tables share more than one common field, QlikView creates a complex key, or synthetic key, to try and associate both tables through the combination of all of the common fields between them. This takes the form of an additional table containing the shared fields and an additional key field added to all involved tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because of QlikView's associative engine, the two tables are automatically linked through both fields, creating a complex key out of the combination of their values. There is also a third table in our data model, called $Syn 1 Table. This is the synthetic table which stores the combination of values for the two fields which, as pointed out, form the synthetic key. The presence of synthetic keys in a data model can cause the application to have slow response time and sometimes even consume all available resources. Therefore, they need to be avoided when possible. There are several methods we can use to remove synthetic keys: • We can rename those fields that are a part of the synthetic key but should not be a part of the association between the two tables. • We can remove conflicting fields from one of the two tables. To remove a field, we just erase the corresponding line of code from the Load script. • We can create an explicit complex key with the concatenation of all common fields that actually represent the link between the two tables. ° After creating the new complex key, we can remove the conflicting fields from either table.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jan 2017 11:53:56 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281896#M1182906</guid>
      <dc:creator />
      <dc:date>2017-01-07T11:53:56Z</dc:date>
    </item>
    <item>
      <title>Re: What is synthetic keys? How it can be avoided?</title>
      <link>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281897#M1182907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi titude,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can avoid them by:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. qualify / unqualify&lt;/P&gt;&lt;P&gt;2. creating of komposit key,&lt;/P&gt;&lt;P&gt;3. creating of linking tables&lt;/P&gt;&lt;P&gt;4. korrekt renaming of fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but., it is very importing to know and understand own business environment, if you know well your environment, so you will avoid the creating of synthetic keys&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;beck&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 08 Jan 2017 21:31:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/What-is-synthetic-keys-How-it-can-be-avoided/m-p/281897#M1182907</guid>
      <dc:creator>beck_bakytbek</dc:creator>
      <dc:date>2017-01-08T21:31:16Z</dc:date>
    </item>
  </channel>
</rss>

