<?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: Apply script logic based on metadata in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461227#M696075</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One thing making me confused that what is this original field Please explain names with clearity.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 17 Apr 2013 06:01:53 GMT</pubDate>
    <dc:creator>sujeetsingh</dc:creator>
    <dc:date>2013-04-17T06:01:53Z</dc:date>
    <item>
      <title>Apply script logic based on metadata</title>
      <link>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461226#M696074</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;I have a transaction table with two fields for each 'field', original value (O_xxx) and new value (N_xxxx)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" height="68" style="BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; WIDTH: 946px; HEIGHT: 40px; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;O_Field1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;N_Field1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;O_Field2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;N_Field2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Each field can be of type, &lt;STRONG&gt;economic &lt;/STRONG&gt;or &lt;STRONG&gt;non-economic&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have another table which tell me which it is:&lt;/P&gt;&lt;P&gt;Field pairs always have the same &lt;STRONG&gt;Value&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width: 100%; border: 1px solid #000000;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;Field Name&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;TH align="center" style="background-color: #6690bc;" valign="middle"&gt;&lt;SPAN style="color: #ffffff;"&gt;&lt;STRONG&gt;Value&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O_Field1&lt;/TD&gt;&lt;TD&gt;Economic&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;N_Field1&lt;/TD&gt;&lt;TD&gt;Economic&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O_Field2&lt;/TD&gt;&lt;TD&gt;Non-Economic&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to apply some logic in the script which only occurs &lt;STRONG&gt;IF &lt;/STRONG&gt;the field is non-economic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;If the field 'pair' are non-economic &lt;SPAN style="text-decoration: underline;"&gt;AND &lt;/SPAN&gt;the original value is diffrent to new value&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Then flag the transaction.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can assign a tag to a field, but it cannot be used in any further logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions on how to tackle this would be appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 04:32:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461226#M696074</guid>
      <dc:creator />
      <dc:date>2013-04-17T04:32:22Z</dc:date>
    </item>
    <item>
      <title>Re: Apply script logic based on metadata</title>
      <link>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461227#M696075</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One thing making me confused that what is this original field Please explain names with clearity.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 06:01:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461227#M696075</guid>
      <dc:creator>sujeetsingh</dc:creator>
      <dc:date>2013-04-17T06:01:53Z</dc:date>
    </item>
    <item>
      <title>Re: Apply script logic based on metadata</title>
      <link>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461228#M696076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The data comes from a trading platform. The feed gives me the original value and then the new value of the field&lt;/P&gt;&lt;P&gt;Some real field names:&lt;/P&gt;&lt;P&gt;O_PFOLIO&lt;/P&gt;&lt;P&gt;N_PFOLIO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;They are portfolios, if the portfolio was amended in the trade, the values in the two columns will be different.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 06:29:45 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461228#M696076</guid>
      <dc:creator />
      <dc:date>2013-04-17T06:29:45Z</dc:date>
    </item>
    <item>
      <title>Re: Apply script logic based on metadata</title>
      <link>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461229#M696077</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can think of a couple of solutions to this: a CROSSTABLE-based approach and a dynamic coding approach.&amp;nbsp; Both are a bit messy.&amp;nbsp; In this post, I'll describe the CROSSTABLE-based approach.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me assume that &lt;/P&gt;&lt;UL&gt;&lt;LI&gt;your transactions table is called Transactions &lt;/LI&gt;&lt;LI&gt;it has a unique key field called Id&lt;/LI&gt;&lt;LI&gt;your second table is called FieldTypes&lt;/LI&gt;&lt;LI&gt;your objective is to append another column to each transaction record, using the desired IF within the context of a LOAD statement to produce its content.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The idea, then, is as follows:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Do a CROSSTABLE LOAD on Transactions, resulting in table DepivotedTransactions containing fields Id, Field Name and Field Value.&amp;nbsp; Awkwardly, this will now have separate records for, e.g., O_Field1 and N_Field1, so that they can't be directly compared.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;We need to aggregate each N_ and O_ pairs back together somehow so that they can be compared.&amp;nbsp; this will need to be grouped by the Id and the base field type.&amp;nbsp; So, now we add a column that contains that base field type. i.e. &lt;BR /&gt;JOIN LOAD &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Field Name", &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; subfield("Field Name",'_',2) AS BaseFieldName &lt;BR /&gt;Resident DepivotedTransactions;&lt;/LI&gt;&lt;LI&gt;Now we can do the aggregation:&lt;BR /&gt;SemipivotedTransactions:&lt;BR /&gt;LOAD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BaseFieldName,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MinString("Field Value"&amp;amp;' ') AS Value1, // I'm assuming the fields contain both numeric &amp;amp; string data, so am forcing all of them to be string.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxString("Field Value"&amp;amp;' ') AS Value2&lt;BR /&gt;Resident ﻿﻿DepivotedTransactions&lt;BR /&gt;Group By Id,BaseFieldName;&lt;/LI&gt;&lt;LI&gt;Identify the field types&lt;BR /&gt;JOIN LOAD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; subfield("Field Name",'_',2) AS BaseFieldName,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 AS IsNonEconomic&lt;BR /&gt;Resident FieldTypes&lt;BR /&gt;WHERE Value='Non-Economic'; &lt;/LI&gt;&lt;LI&gt;Now we can do your IF:&lt;BR /&gt;JOIN &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BaseFieldName,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF(not isnull(IsNonEconomic﻿) AND Value1&amp;lt;&amp;gt;Value2,1,0) As FieldHasChanged // N.B. Assumes Value1 &amp;amp; Value2 are never NULL - expand the &amp;lt;&amp;gt; condition is need be.&lt;BR /&gt;Resident SemipivotedTransactions;&lt;/LI&gt;&lt;LI&gt;At this point, we now have recorded in SemipivotedTransactions a 1 for each (Id,BaseFieldName) if that field has changed, and 0 otherwise.&amp;nbsp; But you want an overall summary for each Id.&amp;nbsp; So, now we do a final aggregation &amp;amp; join back to the original table:&lt;BR /&gt;JOIN (Transactions)&lt;BR /&gt;LOAD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( sum(FieldHasChanged)&amp;gt;0 ) as TransactionHasChanged&amp;nbsp; // This will be -1 if true and 0 if false&lt;BR /&gt;Resident﻿﻿ SemipivotedTranscations&lt;BR /&gt;Group by Id;&lt;/LI&gt;&lt;LI&gt;Drop the other tables.&lt;/LI&gt;&lt;/OL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Apr 2013 00:30:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461229#M696077</guid>
      <dc:creator>gussfish</dc:creator>
      <dc:date>2013-04-22T00:30:11Z</dc:date>
    </item>
    <item>
      <title>Re: Apply script logic based on metadata</title>
      <link>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461230#M696078</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Now for the dynamic coding approach.&amp;nbsp; It works out a lot simpler, but is a much more sophisticated approach and can be harder to read if you don't be careful to comment liberally.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The idea is that it'd be really nice if you could just do a statement like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JOIN (Transactions)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( O_Field1&amp;lt;&amp;gt;N_Field1 or O_Field2&amp;lt;&amp;gt;N_Field2 or ...)&amp;nbsp; AS TransactionHasChanged // assuming values are never null, for simplicity&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resident Transactions;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but with only the Non-economic fields listed.&amp;nbsp; Let me ignore the Economic/Non-economic thing for the moment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The approach is to build a variable &lt;STRONG&gt;vHasTransactionChanged&lt;/STRONG&gt; with has as its content the following string: &lt;STRONG&gt;'O_Field1&amp;lt;&amp;gt;N_Field1 or O_Field2&amp;lt;&amp;gt;N_Field2 or&lt;/STRONG&gt; ...'.&amp;nbsp; (we'll do this with help from LOAD, CONCATENATE and peek()).&amp;nbsp; Then, our statement becomes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JOIN (Transactions)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( $(vHasTransactionChanged) )&amp;nbsp; AS TransactionHasChanged // Note: 'bare' variable references like 'v' aren't allowed in LOAD statements, but expanded references like '$(v)' are.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resident Transactions;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How to build that variable?&amp;nbsp; Pretty straighforward, really:&lt;/P&gt;&lt;P&gt;1. Append a field to the FieldTypes tables, to identify the BaseFieldType:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JOIN (FieldTypes)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Field Name",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subfield("Field Name",'_',2) AS BaseFieldType&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resident FieldTypes;&lt;/P&gt;&lt;P&gt;2. Now build the '&amp;lt;&amp;gt;' subconditions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NEqConditions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BaseFieldType,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; concatenate("Field Name",'&amp;lt;&amp;gt;') AS NEqCondition&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resident FieldTypes&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group By BaseFieldType;&lt;/P&gt;&lt;P&gt;3. NEqConditions now has records like (BaseFieldType,NeqCondition)=('Field1','O_Field1&amp;lt;&amp;gt;N_Field1') in it.&amp;nbsp; We therefore now concatenate these individual NeqCondition values into the final desired condition:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FinalCondition:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; concatenate(NEqCondition,'&amp;nbsp; OR&amp;nbsp; ') AS FinalCondition&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resident NEqConditions;&lt;/P&gt;&lt;P&gt;4. Finally, load into the variable:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LET vHasTransactionChanged=peek('FinalCondition');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To deal with your Economic/Non-economic thing, you just want to discard the Economic records before step 2 or 3. above using a KEEP statement of some sort.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Apr 2013 00:52:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461230#M696078</guid>
      <dc:creator>gussfish</dc:creator>
      <dc:date>2013-04-22T00:52:50Z</dc:date>
    </item>
    <item>
      <title>Re: Apply script logic based on metadata</title>
      <link>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461231#M696079</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In my previous responses to this question, I outlined two very different approaches to this problem.&amp;nbsp; But which solution would I choose?&amp;nbsp; I would hands-down, without a doubt, choose the dynamic-coding approach.&amp;nbsp; This is because it will have massively better performance than the CROSSTABLE-based approach, in terms of both memory and speed.&amp;nbsp; This difference is so large that I would strongly recommend &lt;EM&gt;against &lt;/EM&gt;the CROSSTABLE-based approach, unless the Transaction table is actually quite small so that performance isn't any problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To see the difference, consider the amount of data being manipulated in each step of each algorithm.&amp;nbsp; Let's say we have 1,000,000 transactions and 10 old/new field pairs (and hence 20 of these descriptive fields).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;In the CROSSTABLE-based solution:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Step 1. CROSSTABLES the 1,000,000 transactions to produce a table with 20,000,000 records.&lt;/P&gt;&lt;P&gt;Step 2. adds another column to these 20,000,000 records, resulting in a 33% increase in table size (from 3 fields to 4 fields)&lt;/P&gt;&lt;P&gt;Step 3. aggregates these into half the number of records (10,000,000) and 4 fields&lt;/P&gt;&lt;P&gt;Step 4. adds another column to these 10,000,000 records, but the value in it is null half the time, resulting in (say) a 12% increase)&lt;/P&gt;&lt;P&gt;Step 5. adds another column to these 10,000,000 records&lt;/P&gt;&lt;P&gt;Step 6. aggregates these back to the transaction level (i.e. 1,000,000 records) and rejoins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;In the dynamic script solution:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Step 1. adds a column to the 20-record FieldTypes table.&lt;/P&gt;&lt;P&gt;Step 2. aggregates it into a 10-record table&lt;/P&gt;&lt;P&gt;Step 3. aggregates this into a 1-record table&lt;/P&gt;&lt;P&gt;Step 4. operates on a single cell of the table&lt;/P&gt;&lt;P&gt;The resulting value is then applied to the Transactions table in a single, final, 1,000,000-record operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The dynamic solution is clearly radically easier on CPU &amp;amp; memory.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Apr 2013 23:00:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Apply-script-logic-based-on-metadata/m-p/461231#M696079</guid>
      <dc:creator>gussfish</dc:creator>
      <dc:date>2013-04-22T23:00:21Z</dc:date>
    </item>
  </channel>
</rss>

