<?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>article How to extract changes from the change store (Write table) and store them in a QVD - Vendor Reviews example in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-extract-changes-from-the-change-store-Write-table-and/ta-p/2539001</link>
    <description>&lt;P&gt;This article explains how to extract changes from a&lt;STRONG&gt;&amp;nbsp;&lt;FONT color="#339966"&gt;Change Store&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;and store them in a QVD by using a load script in&lt;STRONG&gt;&amp;nbsp;&lt;FONT color="#339966"&gt;Qlik Analytics&lt;/FONT&gt;&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The article also includes&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;An app example with an incremental load script that will store new changes in a QVD&lt;/LI&gt;
&lt;LI&gt;Configuration instructions for the examples&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Emile_Koslowski_0-1766761399276.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185974i3B03B2A82D87D424/image-size/large?v=v2&amp;amp;px=999" role="button" title="Emile_Koslowski_0-1766761399276.png" alt="Emile_Koslowski_0-1766761399276.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Scenario&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This example will create an analytics app for Vendor Reviews. The idea is that you, as a company, are working with multiple vendors. Once a quarter, you want to review these vendors.&lt;/P&gt;
&lt;P&gt;The example is simplified, but it can be extended with additional data for real-world examples or for other “review” use cases like employee reviews, budget reviews, and so on.&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;The data model&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;The app’s data model is a single table “Vendors” that contains a &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt;, &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt;, and &lt;FONT face="courier new,courier"&gt;City&lt;/FONT&gt;:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Vendors:
Load * inline [
"Vendor ID","Vendor Name","City"
1,Dunder Mifflin,Ghent
2,Nuka Cola,Leuven
3,Octan, Brussels
4,Kitchen Table International,Antwerp
];&lt;/LI-CODE&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;The Write Table&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;The Write Table contains two data model fields: &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt;. They are both configured as primary keys to demonstrate how this can work for composite keys.&lt;/P&gt;
&lt;P&gt;The Write Table is then extended with three editable columns:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Quarter (&lt;EM&gt;Single select&lt;/EM&gt;)&lt;/LI&gt;
&lt;LI&gt;Action required? (&lt;EM&gt;Single select&lt;/EM&gt;)&lt;/LI&gt;
&lt;LI&gt;Comment (&lt;EM&gt;Manual user input&lt;/EM&gt;)&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Prerequisites&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;A shared space&lt;/LI&gt;
&lt;LI&gt;A managed space (optional but advised for the tutorial)&lt;/LI&gt;
&lt;LI&gt;A connection to the Change-stores API to the Analytics REST connector in the shared space. A step-by-step guide on creating this connection is available in &lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/create.htm#:~:text=changes%20with%20the-,REST,-connector%20in%20Qlik" target="_blank" rel="noopener"&gt;Extracting write table changes with the REST connector in Qlik Cloud&lt;/A&gt;.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Steps&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Upload the attached&amp;nbsp;&lt;STRONG&gt;.QVF&lt;/STRONG&gt; file to a shared space&lt;/LI&gt;
&lt;LI&gt;Open the private sheet &lt;STRONG&gt;Vendor Reviews&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Click the &lt;STRONG&gt;Reload App&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;A&lt;/STRONG&gt;) button and make sure data appears (&lt;STRONG&gt;B&lt;/STRONG&gt;) in the top table&lt;BR /&gt;
&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="reload app.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185760i3086581A73E19652/image-size/large?v=v2&amp;amp;px=999" role="button" title="reload app.png" alt="reload app.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Go to &lt;STRONG&gt;Edit sheet&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;A&lt;/STRONG&gt;) mode&lt;/LI&gt;
&lt;LI&gt;Drag a &lt;STRONG&gt;Write Table Chart&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;B&lt;/STRONG&gt;) on the top table, and choose the option &lt;STRONG&gt;Convert to: Write Table&amp;nbsp;&lt;/STRONG&gt;(&lt;STRONG&gt;C&lt;/STRONG&gt;). &lt;BR /&gt;&lt;BR /&gt;This transforms the table into a Write Table with two data model columns &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="convert table to write table.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185761i53677A0A6F30574A/image-size/large?v=v2&amp;amp;px=999" role="button" title="convert table to write table.png" alt="convert table to write table.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Go to the &lt;STRONG&gt;Data&lt;/STRONG&gt; section in the &lt;STRONG&gt;Write Table’s Properties&lt;/STRONG&gt; menu and add an &lt;STRONG&gt;editable column&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="editable column.png" style="width: 445px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185762iB4BF53617D6BE7F5/image-dimensions/445x395?v=v2" width="445" height="395" role="button" title="editable column.png" alt="editable column.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;This prompts you to define a &lt;STRONG&gt;primary key&lt;/STRONG&gt; inside the table. Click&amp;nbsp;&lt;STRONG&gt;Define&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;A&lt;/STRONG&gt;) in the table and use both &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt; as primary keys (&lt;STRONG&gt;B&lt;/STRONG&gt;).&lt;BR /&gt;&lt;BR /&gt;You can also just use &lt;FONT face="courier new,courier"&gt;Vendor ID,&lt;/FONT&gt; but we want to show that this also supports composite primary keys.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="define primary key.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185763i1F49F6CCC4C97767/image-size/large?v=v2&amp;amp;px=999" role="button" title="define primary key.png" alt="define primary key.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="define a primary key.png" style="width: 619px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185764i2D66A09B98A99EAD/image-dimensions/619x558?v=v2" width="619" height="558" role="button" title="define a primary key.png" alt="define a primary key.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Configure the editable column:&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Title&lt;/STRONG&gt;: Quarter&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Show content&lt;/STRONG&gt;: Single selection&lt;/LI&gt;
&lt;LI&gt;Add options for Q1Y26 through Q4Y26. &lt;BR /&gt;&lt;BR /&gt;Tip! Also add an empty option by clicking the &lt;STRONG&gt;Add&lt;/STRONG&gt; button without specifying a value. &lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="editable column add content.png" style="width: 507px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185765i9E1F8DB38417645A/image-dimensions/507x854?v=v2" width="507" height="854" role="button" title="editable column add content.png" alt="editable column add content.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Add another &lt;STRONG&gt;Editable&lt;/STRONG&gt; column with the below configuration&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Title&lt;/STRONG&gt;: Action required&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;: Single select&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Options&lt;/STRONG&gt;:&amp;nbsp; Yes and No&lt;BR /&gt;&lt;BR /&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="add another column.png" style="width: 534px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185766i207606D7F6A8A444/image-size/large?v=v2&amp;amp;px=999" role="button" title="add another column.png" alt="add another column.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Add another &lt;STRONG&gt;Editable&lt;/STRONG&gt; column with the below configuration&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Title&lt;/STRONG&gt;: Review&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;: Single select&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Options&lt;/STRONG&gt;:&amp;nbsp; Yes and No&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="add the third editable column.png" style="width: 528px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185767iF7AC729D67D27E9E/image-dimensions/528x561?v=v2" width="528" height="561" role="button" title="add the third editable column.png" alt="add the third editable column.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;Write Table&lt;/STRONG&gt; is now set up.&lt;BR /&gt;&lt;BR /&gt;Go to the&amp;nbsp;&lt;STRONG&gt;Write Table’s properties &lt;/STRONG&gt;and locate the &lt;STRONG&gt;Change store &lt;/STRONG&gt;(&lt;STRONG&gt;A&lt;/STRONG&gt;)&amp;nbsp;section. Copy&amp;nbsp;the &lt;STRONG&gt;Change store ID&amp;nbsp;&lt;/STRONG&gt;(&lt;STRONG&gt;B&lt;/STRONG&gt;).&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="copy store id.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185768i21109A2BC4AB466A/image-size/large?v=v2&amp;amp;px=999" role="button" title="copy store id.png" alt="copy store id.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Leave the &lt;STRONG&gt;Edit&lt;/STRONG&gt; sheet mode. Then add changes for at least two records. Save those changes.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="modify the write table content.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185769iA7F16728CAA324B4/image-size/large?v=v2&amp;amp;px=999" role="button" title="modify the write table content.png" alt="modify the write table content.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Go to the app’s &lt;STRONG&gt;load script editor&lt;/STRONG&gt; and uncomment the second script section by first selecting all lines in the script section (CTRL+A or CMD+A) (&lt;STRONG&gt;A&lt;/STRONG&gt;) and then clicking the &lt;STRONG&gt;comment button&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;B&lt;/STRONG&gt;) in the toolbar.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="uncomment script.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185770iF157FA7C96A4E679/image-size/large?v=v2&amp;amp;px=999" role="button" title="uncomment script.png" alt="uncomment script.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Configure the settings in the &lt;STRONG&gt;CONFIGURATION&lt;/STRONG&gt; part at the end of the load script&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="configuration set your parameters.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185771i611E2B7F7D889962/image-size/large?v=v2&amp;amp;px=999" role="button" title="configuration set your parameters.png" alt="configuration set your parameters.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Update the load script&lt;/STRONG&gt; with the IDs of the editable columns. &lt;BR /&gt;&lt;BR /&gt;The easiest solution to get these IDs is to test your connection. Make sure the connection URL is configured to use the &lt;STRONG&gt;/changes/tabular-views&lt;/STRONG&gt; endpoint and uses the correct change store ID.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IDs.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185772iB982CA4B277E8050/image-size/large?v=v2&amp;amp;px=999" role="button" title="IDs.png" alt="IDs.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Copy and paste the example load script (&lt;EM&gt;for the editable columns only&lt;/EM&gt;) and paste it in the app’s load script SQL Select statement that starts on line 159:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SQL statement.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185773i8E040F0F492A0778/image-size/large?v=v2&amp;amp;px=999" role="button" title="SQL statement.png" alt="SQL statement.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Replace the corresponding &lt;STRONG&gt;*&lt;/STRONG&gt; symbols in the LOAD statement that starts on line 176:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="replace wildcard.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185774iD77B15593DB7BB52/image-size/large?v=v2&amp;amp;px=999" role="button" title="replace wildcard.png" alt="replace wildcard.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Choose which records you want to track in your table by configuring the &lt;STRONG&gt;Exists Key&lt;/STRONG&gt; on line 216.&lt;BR /&gt;&lt;BR /&gt;This key will be used to filter the “granularity” on which we want to store changes in the QVD and data model, as the load script will only load unique existing keys (line 235).&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;$(vExistsKeyFormula)&lt;/FONT&gt; is a pipe-separated list of the primary keys.&lt;/LI&gt;
&lt;LI&gt;In this example, &lt;FONT face="courier new,courier"&gt;Quarter&lt;/FONT&gt; is added as an additional part of the exists key to keep track of changes by Quarter.&lt;/LI&gt;
&lt;LI&gt;Optionally, this can be extended with &lt;FONT face="courier new,courier"&gt;createdBy&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;updatedAt&lt;/FONT&gt; to extend the granularity to every change made:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="existskey.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185775i5AA974762A9C3EED/image-size/large?v=v2&amp;amp;px=999" role="button" title="existskey.png" alt="existskey.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Reload the app and verify that the correct change store table is created in your data model. The second table in the sheet should also successfully show vendors and their reviews.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Environment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Qlik Cloud Analytics&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Fri, 26 Dec 2025 15:03:35 GMT</pubDate>
    <dc:creator>Emile_Koslowski</dc:creator>
    <dc:date>2025-12-26T15:03:35Z</dc:date>
    <item>
      <title>How to extract changes from the change store (Write table) and store them in a QVD - Vendor Reviews example</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-extract-changes-from-the-change-store-Write-table-and/ta-p/2539001</link>
      <description>&lt;P&gt;This article explains how to extract changes from a&lt;STRONG&gt;&amp;nbsp;&lt;FONT color="#339966"&gt;Change Store&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;and store them in a QVD by using a load script in&lt;STRONG&gt;&amp;nbsp;&lt;FONT color="#339966"&gt;Qlik Analytics&lt;/FONT&gt;&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The article also includes&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;An app example with an incremental load script that will store new changes in a QVD&lt;/LI&gt;
&lt;LI&gt;Configuration instructions for the examples&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Emile_Koslowski_0-1766761399276.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185974i3B03B2A82D87D424/image-size/large?v=v2&amp;amp;px=999" role="button" title="Emile_Koslowski_0-1766761399276.png" alt="Emile_Koslowski_0-1766761399276.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Scenario&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This example will create an analytics app for Vendor Reviews. The idea is that you, as a company, are working with multiple vendors. Once a quarter, you want to review these vendors.&lt;/P&gt;
&lt;P&gt;The example is simplified, but it can be extended with additional data for real-world examples or for other “review” use cases like employee reviews, budget reviews, and so on.&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;The data model&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;The app’s data model is a single table “Vendors” that contains a &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt;, &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt;, and &lt;FONT face="courier new,courier"&gt;City&lt;/FONT&gt;:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Vendors:
Load * inline [
"Vendor ID","Vendor Name","City"
1,Dunder Mifflin,Ghent
2,Nuka Cola,Leuven
3,Octan, Brussels
4,Kitchen Table International,Antwerp
];&lt;/LI-CODE&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;The Write Table&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;The Write Table contains two data model fields: &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt;. They are both configured as primary keys to demonstrate how this can work for composite keys.&lt;/P&gt;
&lt;P&gt;The Write Table is then extended with three editable columns:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Quarter (&lt;EM&gt;Single select&lt;/EM&gt;)&lt;/LI&gt;
&lt;LI&gt;Action required? (&lt;EM&gt;Single select&lt;/EM&gt;)&lt;/LI&gt;
&lt;LI&gt;Comment (&lt;EM&gt;Manual user input&lt;/EM&gt;)&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Prerequisites&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;A shared space&lt;/LI&gt;
&lt;LI&gt;A managed space (optional but advised for the tutorial)&lt;/LI&gt;
&lt;LI&gt;A connection to the Change-stores API to the Analytics REST connector in the shared space. A step-by-step guide on creating this connection is available in &lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/create.htm#:~:text=changes%20with%20the-,REST,-connector%20in%20Qlik" target="_blank" rel="noopener"&gt;Extracting write table changes with the REST connector in Qlik Cloud&lt;/A&gt;.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Steps&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Upload the attached&amp;nbsp;&lt;STRONG&gt;.QVF&lt;/STRONG&gt; file to a shared space&lt;/LI&gt;
&lt;LI&gt;Open the private sheet &lt;STRONG&gt;Vendor Reviews&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Click the &lt;STRONG&gt;Reload App&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;A&lt;/STRONG&gt;) button and make sure data appears (&lt;STRONG&gt;B&lt;/STRONG&gt;) in the top table&lt;BR /&gt;
&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="reload app.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185760i3086581A73E19652/image-size/large?v=v2&amp;amp;px=999" role="button" title="reload app.png" alt="reload app.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Go to &lt;STRONG&gt;Edit sheet&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;A&lt;/STRONG&gt;) mode&lt;/LI&gt;
&lt;LI&gt;Drag a &lt;STRONG&gt;Write Table Chart&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;B&lt;/STRONG&gt;) on the top table, and choose the option &lt;STRONG&gt;Convert to: Write Table&amp;nbsp;&lt;/STRONG&gt;(&lt;STRONG&gt;C&lt;/STRONG&gt;). &lt;BR /&gt;&lt;BR /&gt;This transforms the table into a Write Table with two data model columns &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="convert table to write table.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185761i53677A0A6F30574A/image-size/large?v=v2&amp;amp;px=999" role="button" title="convert table to write table.png" alt="convert table to write table.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Go to the &lt;STRONG&gt;Data&lt;/STRONG&gt; section in the &lt;STRONG&gt;Write Table’s Properties&lt;/STRONG&gt; menu and add an &lt;STRONG&gt;editable column&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="editable column.png" style="width: 445px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185762iB4BF53617D6BE7F5/image-dimensions/445x395?v=v2" width="445" height="395" role="button" title="editable column.png" alt="editable column.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;This prompts you to define a &lt;STRONG&gt;primary key&lt;/STRONG&gt; inside the table. Click&amp;nbsp;&lt;STRONG&gt;Define&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;A&lt;/STRONG&gt;) in the table and use both &lt;FONT face="courier new,courier"&gt;Vendor ID&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;Vendor Name&lt;/FONT&gt; as primary keys (&lt;STRONG&gt;B&lt;/STRONG&gt;).&lt;BR /&gt;&lt;BR /&gt;You can also just use &lt;FONT face="courier new,courier"&gt;Vendor ID,&lt;/FONT&gt; but we want to show that this also supports composite primary keys.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="define primary key.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185763i1F49F6CCC4C97767/image-size/large?v=v2&amp;amp;px=999" role="button" title="define primary key.png" alt="define primary key.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="define a primary key.png" style="width: 619px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185764i2D66A09B98A99EAD/image-dimensions/619x558?v=v2" width="619" height="558" role="button" title="define a primary key.png" alt="define a primary key.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Configure the editable column:&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Title&lt;/STRONG&gt;: Quarter&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Show content&lt;/STRONG&gt;: Single selection&lt;/LI&gt;
&lt;LI&gt;Add options for Q1Y26 through Q4Y26. &lt;BR /&gt;&lt;BR /&gt;Tip! Also add an empty option by clicking the &lt;STRONG&gt;Add&lt;/STRONG&gt; button without specifying a value. &lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="editable column add content.png" style="width: 507px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185765i9E1F8DB38417645A/image-dimensions/507x854?v=v2" width="507" height="854" role="button" title="editable column add content.png" alt="editable column add content.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Add another &lt;STRONG&gt;Editable&lt;/STRONG&gt; column with the below configuration&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Title&lt;/STRONG&gt;: Action required&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;: Single select&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Options&lt;/STRONG&gt;:&amp;nbsp; Yes and No&lt;BR /&gt;&lt;BR /&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="add another column.png" style="width: 534px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185766i207606D7F6A8A444/image-size/large?v=v2&amp;amp;px=999" role="button" title="add another column.png" alt="add another column.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Add another &lt;STRONG&gt;Editable&lt;/STRONG&gt; column with the below configuration&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Title&lt;/STRONG&gt;: Review&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;: Single select&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Options&lt;/STRONG&gt;:&amp;nbsp; Yes and No&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="add the third editable column.png" style="width: 528px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185767iF7AC729D67D27E9E/image-dimensions/528x561?v=v2" width="528" height="561" role="button" title="add the third editable column.png" alt="add the third editable column.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;Write Table&lt;/STRONG&gt; is now set up.&lt;BR /&gt;&lt;BR /&gt;Go to the&amp;nbsp;&lt;STRONG&gt;Write Table’s properties &lt;/STRONG&gt;and locate the &lt;STRONG&gt;Change store &lt;/STRONG&gt;(&lt;STRONG&gt;A&lt;/STRONG&gt;)&amp;nbsp;section. Copy&amp;nbsp;the &lt;STRONG&gt;Change store ID&amp;nbsp;&lt;/STRONG&gt;(&lt;STRONG&gt;B&lt;/STRONG&gt;).&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="copy store id.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185768i21109A2BC4AB466A/image-size/large?v=v2&amp;amp;px=999" role="button" title="copy store id.png" alt="copy store id.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Leave the &lt;STRONG&gt;Edit&lt;/STRONG&gt; sheet mode. Then add changes for at least two records. Save those changes.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="modify the write table content.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185769iA7F16728CAA324B4/image-size/large?v=v2&amp;amp;px=999" role="button" title="modify the write table content.png" alt="modify the write table content.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Go to the app’s &lt;STRONG&gt;load script editor&lt;/STRONG&gt; and uncomment the second script section by first selecting all lines in the script section (CTRL+A or CMD+A) (&lt;STRONG&gt;A&lt;/STRONG&gt;) and then clicking the &lt;STRONG&gt;comment button&lt;/STRONG&gt;&amp;nbsp;(&lt;STRONG&gt;B&lt;/STRONG&gt;) in the toolbar.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="uncomment script.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185770iF157FA7C96A4E679/image-size/large?v=v2&amp;amp;px=999" role="button" title="uncomment script.png" alt="uncomment script.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Configure the settings in the &lt;STRONG&gt;CONFIGURATION&lt;/STRONG&gt; part at the end of the load script&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="configuration set your parameters.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185771i611E2B7F7D889962/image-size/large?v=v2&amp;amp;px=999" role="button" title="configuration set your parameters.png" alt="configuration set your parameters.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Update the load script&lt;/STRONG&gt; with the IDs of the editable columns. &lt;BR /&gt;&lt;BR /&gt;The easiest solution to get these IDs is to test your connection. Make sure the connection URL is configured to use the &lt;STRONG&gt;/changes/tabular-views&lt;/STRONG&gt; endpoint and uses the correct change store ID.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IDs.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185772iB982CA4B277E8050/image-size/large?v=v2&amp;amp;px=999" role="button" title="IDs.png" alt="IDs.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Copy and paste the example load script (&lt;EM&gt;for the editable columns only&lt;/EM&gt;) and paste it in the app’s load script SQL Select statement that starts on line 159:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SQL statement.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185773i8E040F0F492A0778/image-size/large?v=v2&amp;amp;px=999" role="button" title="SQL statement.png" alt="SQL statement.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Replace the corresponding &lt;STRONG&gt;*&lt;/STRONG&gt; symbols in the LOAD statement that starts on line 176:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="replace wildcard.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185774iD77B15593DB7BB52/image-size/large?v=v2&amp;amp;px=999" role="button" title="replace wildcard.png" alt="replace wildcard.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Choose which records you want to track in your table by configuring the &lt;STRONG&gt;Exists Key&lt;/STRONG&gt; on line 216.&lt;BR /&gt;&lt;BR /&gt;This key will be used to filter the “granularity” on which we want to store changes in the QVD and data model, as the load script will only load unique existing keys (line 235).&lt;BR /&gt;&lt;BR /&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;FONT face="courier new,courier"&gt;$(vExistsKeyFormula)&lt;/FONT&gt; is a pipe-separated list of the primary keys.&lt;/LI&gt;
&lt;LI&gt;In this example, &lt;FONT face="courier new,courier"&gt;Quarter&lt;/FONT&gt; is added as an additional part of the exists key to keep track of changes by Quarter.&lt;/LI&gt;
&lt;LI&gt;Optionally, this can be extended with &lt;FONT face="courier new,courier"&gt;createdBy&lt;/FONT&gt; and &lt;FONT face="courier new,courier"&gt;updatedAt&lt;/FONT&gt; to extend the granularity to every change made:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="existskey.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/185775i5AA974762A9C3EED/image-size/large?v=v2&amp;amp;px=999" role="button" title="existskey.png" alt="existskey.png" /&gt;&lt;/span&gt;&lt;BR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Reload the app and verify that the correct change store table is created in your data model. The second table in the sheet should also successfully show vendors and their reviews.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Environment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Qlik Cloud Analytics&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Fri, 26 Dec 2025 15:03:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-to-extract-changes-from-the-change-store-Write-table-and/ta-p/2539001</guid>
      <dc:creator>Emile_Koslowski</dc:creator>
      <dc:date>2025-12-26T15:03:35Z</dc:date>
    </item>
  </channel>
</rss>

