

{"id":37061,"date":"2018-10-03T10:02:29","date_gmt":"2018-10-03T04:32:29","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=37061"},"modified":"2021-12-07T11:24:13","modified_gmt":"2021-12-07T05:54:13","slug":"qlikview-circular-reference","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/","title":{"rendered":"QlikView Circular Reference &#8211;  Loosely Coupled Tables in QlikView"},"content":{"rendered":"<p align=\"justify\">After studying<strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-master-calendar\/\"> QlikView Master Calendar<\/a><\/strong>. Here, we are going to study QlikView Circular Reference, in which we cover 3 major ways for resolving circular reference in Qlikview. Moreover, we will learn QlikView loosely coupled tables.<\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">QlikView Circular References can encounter during the time of data analysis. This occurrence resembles in some ways with that of synthetic key\u2019s scenario. Although the cause and cure to a circular reference are different from that of a synthetic key.<\/span><\/span><\/p>\n<p align=\"justify\">So, let&#8217;s start QlikView Circular Reference Tutorial.<\/p>\n<h3>What is Circular Reference in QlikView?<\/h3>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">QlikView Circular References are loops that generate in QlikView\u2019s data models in a situation when three or more tables can associate with each other through two or more ways or paths. <\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">As we already know, that QlikView supports an associative data model which automatically links the tables having one or more fields in common. In the case of a circular reference, there are two or more than two common fields between three or more tables which creates an ambiguity in the logical structure and interpretation of data along with disrupting the data model. <\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Formation of a circular loop or reference must avoid as much as possible because they degrade the performance by creating a logically distorted data structure. <\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">When a data with QlikView circular reference is viewed in a\u00a0table, it gives incorrect and errored information. However, QlikView software detects the presence of a circular reference during script execution and prevents the original data from being corrupt.<\/span><\/span><\/p>\n<p align=\"justify\"><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-documents\/\">Do you know the Properties of Documents in QlikView?<\/a><\/strong><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Let us consider a scenario where a QlikView circular reference creates. We load three tables into QlikView\u2019s memory.<\/span><\/span><\/p>\n<p align=\"justify\"><strong>Table 1 &#8211; SalesRecords<\/strong><\/p>\n<p align=\"justify\"><b>Product_Id,Product_Line,Product_category,Product_quantity,Product_cost,Country<\/b><\/p>\n<p align=\"justify\">pr1,Sporting Goods,Winter Sports &amp; Activities,34,18000,USA<\/p>\n<p align=\"justify\">pr2,&#8221;Food, Beverages &amp; Tobacco&#8221;,Fruits &amp; Vegetables,76,7000,USA<\/p>\n<p align=\"justify\">pr3,Apparel &amp; Accessories,Uniforms,59,20000,India<\/p>\n<p align=\"justify\">pr4,Sporting Goods,Rugby,25,8458,Canada<\/p>\n<p align=\"justify\">pr5,Health &amp; Beauty,Body Lotion,44,5500,USA<\/p>\n<p align=\"justify\">pr6,Arts &amp; Entertainment,Musical Instruments,20,25000,Germany<\/p>\n<p align=\"justify\">pr7,Arts &amp; Entertainment,Orchestra Accessories,15,6700,Canada<\/p>\n<p align=\"justify\">pr8,Arts &amp; Entertainment,Crafting Materials,67,4200,India<\/p>\n<p align=\"justify\">pr9,Hardware,Power Tool Batteries,74,3600,UK<\/p>\n<p align=\"justify\">pr10,Home &amp; Garden,Bath Caddies,66,2000,Germany<\/p>\n<p align=\"justify\">pr11,&#8221;Food, Beverages &amp; Tobacco&#8221;,Frozen Vegetables,56,5800,USA<\/p>\n<p align=\"justify\">pr12,Home &amp; Garden,Power Equipment,87,6300,UK<\/p>\n<p align=\"justify\">pr13,Home &amp; Garden,Water hose,42,7465,UK<\/p>\n<p align=\"justify\">pr14,Health &amp; Beauty,Aloe vera Gel,46,4852,USA<\/p>\n<p align=\"justify\">pr15,Health &amp; Beauty,Face pack,52,5673,India<\/p>\n<p align=\"justify\">pr16,&#8221;Food, Beverages &amp; Tobacco&#8221;,Cereals,49,6480,Canada<\/p>\n<p align=\"justify\">pr17,&#8221;Food, Beverages &amp; Tobacco&#8221;,Fruit juices,58,4900,Australia<\/p>\n<p align=\"justify\">pr18,Sporting Goods,Football,40,5250,USA<\/p>\n<p align=\"justify\"><strong>Table 2 &#8211; CountryCIty<\/strong><\/p>\n<p align=\"justify\"><b>Country, City<\/b><\/p>\n<p align=\"justify\">USA, New York<\/p>\n<p align=\"justify\">USA, New York<\/p>\n<p align=\"justify\">India, Mumbai<\/p>\n<p align=\"justify\">Canada, Ontario<\/p>\n<p align=\"justify\">USA, San Fransisco<\/p>\n<p align=\"justify\">Germany, Berlin<\/p>\n<p align=\"justify\">Canada, Toronto<\/p>\n<p align=\"justify\">India, Bangalore<\/p>\n<p align=\"justify\">UK, London<\/p>\n<p align=\"justify\">Germany, Berlin<\/p>\n<p align=\"justify\">USA, Denver<\/p>\n<p align=\"justify\">UK, Glasgow<\/p>\n<p align=\"justify\">UK, Manchester<\/p>\n<p align=\"justify\">USA, Dallas<\/p>\n<p align=\"justify\">India, Delhi<\/p>\n<p align=\"justify\">Canada, Montreal<\/p>\n<p align=\"justify\">Australia, Melbourne<\/p>\n<p align=\"justify\">USA, Michigan<\/p>\n<p align=\"justify\"><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-star-schema\/\">Also, See QlikView Star Schema<\/a><\/strong><\/p>\n<p align=\"justify\"><strong>Table 3 &#8211; Product line &amp; City<\/strong><\/p>\n<p align=\"justify\"><b>Product_Line, City<\/b><\/p>\n<p align=\"justify\">Sporting Goods, New York<\/p>\n<p align=\"justify\">Food &amp; Beverages,\u00a0New York<\/p>\n<p align=\"justify\">Apparel &amp; Accessories, Mumbai<\/p>\n<p align=\"justify\">Sporting Goods, Ontario<\/p>\n<p align=\"justify\">Health &amp; Beauty, San Fransisco<\/p>\n<p align=\"justify\">Arts &amp; Entertainment,Berlin<\/p>\n<p align=\"justify\">Arts &amp; Entertainment,Toronto<\/p>\n<p align=\"justify\">Arts &amp; Entertainment, Bangalore<\/p>\n<p align=\"justify\">Hardware, London<\/p>\n<p align=\"justify\">Home &amp; Garden, Berlin<\/p>\n<p align=\"justify\">Food &amp; Beverages, Denver<\/p>\n<p align=\"justify\">Home &amp; Garden, Glasgow<\/p>\n<p align=\"justify\">Home &amp; Garden, Manchester<\/p>\n<p align=\"justify\">Health &amp; Beauty, Dallas<\/p>\n<p align=\"justify\">Health &amp; Beauty, Delhi<\/p>\n<p align=\"justify\">Food &amp; Beverages, Montreal<\/p>\n<p align=\"justify\">Food &amp; Beverages, Melbourne<\/p>\n<p align=\"justify\">Sporting Goods, Michigan<\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Now if you pay attention to the field heading of table 2 and 3, you will see that they have the field \u2018City\u2019 in common. This will cause a circular loop. Next, we will load these files into a script.<strong>\u00a0<\/strong><\/span><\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Sales:\r\nLOAD Product_Id,\r\n     Product_Line,\r\n     Product_category,\r\n     Product_quantity,\r\n     Product_cost,\r\n     Country\r\nFROM\r\n[C:\\Users\\HP\\Desktop\\Dataflair\\Articles\\SalesRecord.csv]\r\n(txt, codepage is 1252, embedded labels, delimiter is ',', msq);\r\n\r\nCountryCity:\r\nLOAD Country,\r\n     City\r\nFROM\r\n[C:\\Users\\HP\\Desktop\\Dataflair\\countrycity.csv]\r\n(txt, codepage is 1252, embedded labels, delimiter is ',', msq);\r\n\r\nProducttypeCity:\r\nLOAD Product_Line,\r\n     City\r\nFROM\r\n[C:\\Users\\HP\\Desktop\\Dataflair\\productlinecity.csv]\r\n(txt, codepage is 1252, embedded labels, delimiter is ',', msq);<\/pre>\n<div id=\"attachment_37189\" style=\"width: 855px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37189\" class=\"size-full wp-image-37189\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref1.png\" alt=\"QlikView Circular Reference\" width=\"845\" height=\"951\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref1.png 845w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref1-133x150.png 133w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref1-267x300.png 267w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref1-768x864.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref1-520x585.png 520w\" sizes=\"auto, (max-width: 845px) 100vw, 845px\" \/><\/a><p id=\"caption-attachment-37189\" class=\"wp-caption-text\">Image.1 QlikView Circular Reference Tutorial<\/p><\/div>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-bar-chart\/\">Follow this link to know How to Make &#8211; Bar, Pie &amp; Text Box<\/a><\/strong><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">As soon as you load the script and save it, you will get an error message warning you of the loop detection and comprehension ambiguities caused by the same.<\/span><\/span><\/p>\n<div id=\"attachment_37190\" style=\"width: 778px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37190\" class=\"size-full wp-image-37190\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref2.jpg\" alt=\" QlikView Circular Reference\" width=\"768\" height=\"173\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref2.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref2-150x34.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref2-300x68.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref2-520x117.jpg 520w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><p id=\"caption-attachment-37190\" class=\"wp-caption-text\">Image.2 QlikView Circular Reference Tutorial<\/p><\/div>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">The table structure, invoked by CTRL+T, will look like that shown in the screenshot attached below. This is the table structure when tables are caught in a loop. There are three different pathways between these three tables, which are,<\/span><\/span><\/p>\n<ul>\n<li>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Table SalesRecord is linked to table CountryCity by the key field \u2018Country\u2019.<\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Table SalesRecord is also linked with the table ProductlineCity by the key field \u2018Product_Line\u2019.<\/span><\/span><\/p>\n<\/li>\n<li>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Also, the third connection is between Table CountryCity(Table2) and ProductlineCity(Table3) with the field \u2018City\u2019.<\/span><\/span><\/p>\n<\/li>\n<\/ul>\n<div id=\"attachment_37191\" style=\"width: 1132px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37191\" class=\"size-full wp-image-37191\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3.png\" alt=\"QlikView Circular Reference\" width=\"1122\" height=\"812\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3.png 1122w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3-150x109.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3-300x217.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3-768x556.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3-1024x741.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref3-520x376.png 520w\" sizes=\"auto, (max-width: 1122px) 100vw, 1122px\" \/><\/a><p id=\"caption-attachment-37191\" class=\"wp-caption-text\">Image.3 QlikView Circular Reference Tutorial<\/p><\/div>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Thus, this setup will form a QlikView circular reference as Table1 (SalesRecord) can connect to Table2 via Table3 creating a loop. To counter this situation, QlikView automatically makes at least one of the three tables (usually the longest table or a fact table) loosely-coupled.<\/span><\/span><\/p>\n<p align=\"justify\"><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-join-functions\/\">Let&#8217;s Explore the QlikView Join Functions with its types &amp; Practical Examples<\/a><\/strong><\/p>\n<h3 align=\"justify\">What are Loosely Coupled Tables in QlikView?<\/h3>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">A QlikView loosely coupled table is a table which does not follow the logical structure of data properly. QlikView automatically creates one or more tables as loosely-coupled to cut the logical association between tables forming a circular loop. <\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">As the loosely-coupled table cannot function according to the associative data model it will automatically break the loop and weaken the circular reference in QlikView. The tables can also manually made loosely-coupled by adding a code line after loading the table into the script-<\/span><\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Loosen Table SalesRecords;\r\n<\/pre>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Consider the three tables shown in the image below and observe the pattern of association between the three of them.<strong>\u00a0<\/strong><\/span><\/span><\/p>\n<div id=\"attachment_37192\" style=\"width: 299px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref4.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37192\" class=\"size-full wp-image-37192\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref4.png\" alt=\"QlikView Circular Reference\" width=\"289\" height=\"85\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref4.png 289w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref4-150x44.png 150w\" sizes=\"auto, (max-width: 289px) 100vw, 289px\" \/><\/a><p id=\"caption-attachment-37192\" class=\"wp-caption-text\">QlikView Circular Reference &#8211;\u00a0<span style=\"font-family: Calibri Light, serif\"><span style=\"font-size: medium\">Loosen Table<\/span><\/span><\/p><\/div>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">When these three tables are associated normally, they will react upon making a selection like the way shown the image below. You can notice how the data filters travel like a ripple from one table to another making them display only relevant values.\u00a0<\/span><\/span><\/p>\n<div id=\"attachment_37193\" style=\"width: 299px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref5.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37193\" class=\"size-full wp-image-37193\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref5.png\" alt=\"QlikView Circular Reference\" width=\"289\" height=\"55\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref5.png 289w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref5-150x29.png 150w\" sizes=\"auto, (max-width: 289px) 100vw, 289px\" \/><\/a><p id=\"caption-attachment-37193\" class=\"wp-caption-text\">QlikView Circular Reference &#8211;\u00a0<span style=\"font-family: Calibri Light, serif\"><span style=\"font-size: medium\">Loosen Table<\/span><\/span><\/p><\/div>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Next, we will see what happens when we make the Table2 loosely-coupled. Upon making the selection \u20182\u2019 in table one, the logic did not flow through the table2 as it did earlier but shows ambiguous results. <\/span><\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">This shows that the association between columns A and C in Table2 is been disrupted by loose-coupling. Thus, the table box will show all possible results between the values when the selection is made. <\/span><\/span><\/p>\n<div id=\"attachment_37194\" style=\"width: 299px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref6.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37194\" class=\"size-full wp-image-37194\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref6.png\" alt=\"QlikView Circular Reference\" width=\"289\" height=\"85\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref6.png 289w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref6-150x44.png 150w\" sizes=\"auto, (max-width: 289px) 100vw, 289px\" \/><\/a><p id=\"caption-attachment-37194\" class=\"wp-caption-text\">QlikView Circular Reference &#8211;\u00a0<span style=\"font-family: Calibri Light, serif\"><span style=\"font-size: medium\">Loosen Table<\/span><\/span><\/p><\/div>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Same happened with the data files we loaded having the circular reference in QlikView, one of them was made loosely-coupled and displayed data with the same ambiguity as we saw earlier. Each Product_ID is been shown three to four times as the table box is showing all possible combinations between data values.<\/span><\/span><\/p>\n<div id=\"attachment_37195\" style=\"width: 871px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref7.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37195\" class=\"size-full wp-image-37195\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref7.png\" alt=\"QlikView Circular Reference\" width=\"861\" height=\"565\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref7.png 861w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref7-150x98.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref7-300x197.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref7-768x504.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref7-520x341.png 520w\" sizes=\"auto, (max-width: 861px) 100vw, 861px\" \/><\/a><p id=\"caption-attachment-37195\" class=\"wp-caption-text\">QlikView Circular Reference &#8211;\u00a0<span style=\"font-family: Calibri Light, serif\"><span style=\"font-size: medium\">Loosen Table<\/span><\/span><\/p><\/div>\n<h3>Ways to resolve QlikView Circular Reference<\/h3>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">With the help of the three ways mentioned below, you can remove the QlikView circular reference or loop formed between tables.<\/span><\/span><\/p>\n<p align=\"justify\"><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-navigation\/\">Follow this link to know about QlikView Navigation Pane<\/a><\/strong><\/p>\n<h4>i. Renaming<\/h4>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">As we know in the data sets we have used, the field \u2018City\u2019 was the cause of circular reference in QlikView. One way to resolve this problem is by renaming the field \u2018city\u2019 (or whichever field is causing CR in your case) so that the system interprets it as two different fields.<\/span><\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Sales:\r\nLOAD Product_Id,\r\n     Product_Line,\r\n     Product_category,\r\n     Product_quantity,\r\n     Product_cost,\r\n     Country\r\nFROM\r\n[C:\\Users\\HP\\Desktop\\Dataflair\\Articles\\SalesRecord.csv]\r\n(txt, codepage is 1252, embedded labels, delimiter is ',', msq);\r\n\r\nCountryCity:\r\nLOAD Country,\r\n     City as SalesCity\r\nFROM\r\n[C:\\Users\\HP\\Desktop\\Dataflair\\countrycity.csv]\r\n(txt, codepage is 1252, embedded labels, delimiter is ',', msq);\r\n\r\nProducttypeCity:\r\nLOAD Product_Line,\r\n     City as LineCity\r\nFROM\r\n[C:\\Users\\HP\\Desktop\\Dataflair\\productlinecity.csv]\r\n(txt, codepage is 1252, embedded labels, delimiter is ',', msq);<\/pre>\n<div id=\"attachment_37196\" style=\"width: 853px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref8.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37196\" class=\"wp-image-37196 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref8.png\" alt=\"QlikView Circular Reference\" width=\"843\" height=\"985\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref8.png 843w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref8-128x150.png 128w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref8-257x300.png 257w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref8-768x897.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref8-520x608.png 520w\" sizes=\"auto, (max-width: 843px) 100vw, 843px\" \/><\/a><p id=\"caption-attachment-37196\" class=\"wp-caption-text\">Resolve QlikView Circular Reference &#8211; Renaming<\/p><\/div>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">If you check the table structure (CTRL+T) after renaming the fields, you will find that the QlikView circular reference has been removed. <\/span><\/span><\/p>\n<div id=\"attachment_37197\" style=\"width: 722px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref9.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-37197\" class=\"size-full wp-image-37197\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref9.png\" alt=\"QlikView Circular Reference\" width=\"712\" height=\"584\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref9.png 712w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref9-150x123.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref9-300x246.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/cref9-520x427.png 520w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><p id=\"caption-attachment-37197\" class=\"wp-caption-text\">Resolve QlikView Circular Reference &#8211; Renaming<\/p><\/div>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-vs-tableau\/\">Do you know the Difference between QlikView and Tableau?<\/a><\/strong><\/p>\n<h4>ii. Concatenating<\/h4>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">If the data files in use have rows or data values in common, then concatenate function can use to merge the repetitive data values and form one single table eliminating circular reference in QlikView. However, if the tables do not have common rows or fields but have distinct values rather, the link function proves to more useful.<\/span><\/span><\/p>\n<h4>iii. Link Tables<\/h4>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Linking tables is useful when there are multiple fact tables with distinct fields. Multiple fact tables link with each other by adding a specific code. Firstly, all the key fields in a table are taken to form a composite key. Then a new table called \u2018Link Table\u2019 is made using the composite keys and other common fields. After that, the original fields from each table drop so as that the fields from the newly formed Link Table only remains.<\/span><\/span><\/p>\n<p align=\"justify\">So, this was all about QlikView Circular Reference Tutorial. Hope you like our explanation.<\/p>\n<h3 align=\"justify\">Conclusion<\/h3>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\"><span style=\"font-size: medium\">Hence, we studied the QlikView circular reference is the situation when synthetic keys are formed, in that case, all the loaded files have at least one field in common. However, the resolving methods, in that case, are also similar to those of QlikView circular reference we <\/span><\/span><span style=\"font-family: Arial, serif\">just discussed. <\/span><\/p>\n<p align=\"justify\"><span style=\"font-family: Arial, serif\">A user must take care and formulate data files keeping in mind to avoid causing a circular reference in QlikView. Furthermore, if you have any query, feel free to ask in the comment section.<\/span><\/p>\n<p align=\"justify\">Related Topic &#8211; <strong><a href=\"https:\/\/data-flair.training\/blogs\/qlikview-certification\/\">QlikView Certificate Exams<\/a><\/strong><\/p>\n<p align=\"justify\"><strong><a href=\"https:\/\/help.qlik.com\/en-US\/sense\/September2018\/Subsystems\/Hub\/Content\/Sense_Hub\/LoadData\/understand-circular-references.htm\"><span style=\"font-family: Arial, serif\">Reference for QlikView<\/span><\/a><\/strong><\/p>\n<p><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1775,&quot;href&quot;:&quot;https:\\\/\\\/help.qlik.com\\\/en-US\\\/sense\\\/September2018\\\/Subsystems\\\/Hub\\\/Content\\\/Sense_Hub\\\/LoadData\\\/understand-circular-references.htm&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20231111122711\\\/https:\\\/\\\/help.qlik.com\\\/en-US\\\/sense\\\/September2018\\\/Subsystems\\\/Hub\\\/Content\\\/Sense_Hub\\\/LoadData\\\/understand-circular-references.htm&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 23:09:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-15 19:44:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-08 20:06:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 02:24:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 08:21:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 14:04:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-23 07:29:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 10:06:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-05 09:48:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-18 21:53:20&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-26 11:38:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-30 10:26:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-04 16:33:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-07-09 07:07:24&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-07-09 07:07:24&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After studying QlikView Master Calendar. Here, we are going to study QlikView Circular Reference, in which we cover 3 major ways for resolving circular reference in Qlikview. Moreover, we will learn QlikView loosely coupled&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":37199,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47],"tags":[16864,16862,16863,16861,11526,16860],"class_list":["post-37061","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qlikview","tag-concatenating","tag-how-to-resolve-circular-reference","tag-link-tables","tag-qlikview-loosely-coupled-tables","tag-renaming","tag-what-is-qlikview-circular-reference"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>QlikView Circular Reference - Loosely Coupled Tables in QlikView - DataFlair<\/title>\n<meta name=\"description\" content=\"What is QlikView Circular Reference-QlikView Loosely Coupled Tables, Ways to resolve Circular Reference in QlikView- Renaming, Link Tables, Concatenating\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"QlikView Circular Reference - Loosely Coupled Tables in QlikView - DataFlair\" \/>\n<meta property=\"og:description\" content=\"What is QlikView Circular Reference-QlikView Loosely Coupled Tables, Ways to resolve Circular Reference in QlikView- Renaming, Link Tables, Concatenating\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-03T04:32:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-07T05:54:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Circular-Reference-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"QlikView Circular Reference - Loosely Coupled Tables in QlikView - DataFlair","description":"What is QlikView Circular Reference-QlikView Loosely Coupled Tables, Ways to resolve Circular Reference in QlikView- Renaming, Link Tables, Concatenating","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/","og_locale":"en_US","og_type":"article","og_title":"QlikView Circular Reference - Loosely Coupled Tables in QlikView - DataFlair","og_description":"What is QlikView Circular Reference-QlikView Loosely Coupled Tables, Ways to resolve Circular Reference in QlikView- Renaming, Link Tables, Concatenating","og_url":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-10-03T04:32:29+00:00","article_modified_time":"2021-12-07T05:54:13+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Circular-Reference-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"QlikView Circular Reference &#8211; Loosely Coupled Tables in QlikView","datePublished":"2018-10-03T04:32:29+00:00","dateModified":"2021-12-07T05:54:13+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/"},"wordCount":1530,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Circular-Reference-01.jpg","keywords":["Concatenating","How to resolve Circular Reference","Link Tables","QlikView Loosely Coupled Tables","renaming","What is QlikView Circular Reference"],"articleSection":["QlikView Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/","url":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/","name":"QlikView Circular Reference - Loosely Coupled Tables in QlikView - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Circular-Reference-01.jpg","datePublished":"2018-10-03T04:32:29+00:00","dateModified":"2021-12-07T05:54:13+00:00","description":"What is QlikView Circular Reference-QlikView Loosely Coupled Tables, Ways to resolve Circular Reference in QlikView- Renaming, Link Tables, Concatenating","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Circular-Reference-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/10\/QlikView-Circular-Reference-01.jpg","width":1200,"height":628,"caption":"QlikView Circular Reference - Loosely Coupled Tables in QlikView"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/qlikview-circular-reference\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"QlikView Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/qlikview\/"},{"@type":"ListItem","position":3,"name":"QlikView Circular Reference &#8211; Loosely Coupled Tables in QlikView"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/37061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=37061"}],"version-history":[{"count":13,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/37061\/revisions"}],"predecessor-version":[{"id":105179,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/37061\/revisions\/105179"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/37199"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=37061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=37061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=37061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}