<?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 Dynamic Classification of Cross-Dimensions in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Dynamic-Classification-of-Cross-Dimensions/m-p/231255#M83025</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'll give it a shot, this weekend.&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Nov 2009 15:32:05 GMT</pubDate>
    <dc:creator />
    <dc:date>2009-11-05T15:32:05Z</dc:date>
    <item>
      <title>Dynamic Classification of Cross-Dimensions</title>
      <link>https://community.qlik.com/t5/QlikView/Dynamic-Classification-of-Cross-Dimensions/m-p/231253#M83023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A small into into the problem.&lt;/P&gt;&lt;P&gt;We have a bunch off data with several classifications, ShowTypes, PriceClasses, ReductionTypes, ...&lt;/P&gt;&lt;P&gt;Now we need a system that we can easily group some of these codes in a new classification, ex ShowType1 + (PriceClass 1 &amp;amp; 2) + All ReductionTypes get Class A, ShowType 2 + All PriceClasses + ReductioType Junioir get Class B .....&lt;/P&gt;&lt;P&gt;We could do this on the database level un load it into QV, but our load start from over 800milj records. And it stays quite 'fixed', only after a complete re-upload it is workable.&lt;/P&gt;&lt;P&gt;Is there anyone that has a suggestion on how i could do a kind of this in QV ?&lt;/P&gt;&lt;P&gt;Would greatelly improve the flexibility ...&lt;/P&gt;&lt;P&gt;Thx. Harry.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Nov 2009 18:17:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Dynamic-Classification-of-Cross-Dimensions/m-p/231253#M83023</guid>
      <dc:creator />
      <dc:date>2009-11-04T18:17:04Z</dc:date>
    </item>
    <item>
      <title>Dynamic Classification of Cross-Dimensions</title>
      <link>https://community.qlik.com/t5/QlikView/Dynamic-Classification-of-Cross-Dimensions/m-p/231254#M83024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How dynamic does it need to be? Are you trying to make these changes without doing a reload? In that case, I think you'd be stuck with calculated dimension:&lt;/P&gt;&lt;P style="padding-left:30px;"&gt;if(ShowType=1 and match(PriceClass,1,2),'A'&lt;BR /&gt;,if(Showtype=2 and ReductionType='Junior','B'&lt;BR /&gt;,... ))&lt;/P&gt;&lt;P&gt;If you can afford to only change it on a reload, you could use the same expression in your main load. You wouldn't have to go back to the database if you're loading from a QVD:&lt;/P&gt;&lt;P style="padding-left:30px;"&gt;,if(ShowType=1 and match(PriceClass,1,2),'A'&lt;BR /&gt;,if(Showtype=2 and ReductionType='Junior','B'&lt;BR /&gt;,... )) as NewClass&lt;/P&gt;&lt;P&gt;Main problem there is probably performance running that IF against a billion records and turning an optimized QVD load into an unoptimized load.&lt;/P&gt;&lt;P&gt;There might be a better way, but I'm guessing you could solve the performance problems by building a classification table after the main optimized QVD load (assuming that there are a limited number of each type and class so that this doesn't explode):&lt;/P&gt;&lt;P style="padding-left:30px;"&gt;[NewClasses]:&lt;BR /&gt;LOAD fieldvalue('ShowType',iterno()) as "ShowType"&lt;BR /&gt;AUTOGENERATE 1&lt;BR /&gt;WHILE len(fieldvalue('ShowType',iterno()))&lt;BR /&gt;;&lt;BR /&gt;LEFT JOIN&lt;BR /&gt;LOAD fieldvalue('PriceClass',iterno()) as "PriceClass"&lt;BR /&gt;AUTOGENERATE 1&lt;BR /&gt;WHILE len(fieldvalue('PriceClass',iterno()))&lt;BR /&gt;;&lt;BR /&gt;LEFT JOIN&lt;BR /&gt;LOAD fieldvalue('ReductionType',iterno()) as "ReductionType"&lt;BR /&gt;AUTOGENERATE 1&lt;BR /&gt;WHILE len(fieldvalue('ReductionType',iterno()))&lt;BR /&gt;;&lt;BR /&gt;LEFT JOIN&lt;BR /&gt;LOAD *&lt;BR /&gt;,if(ShowType=1 and match(PriceClass,1,2),'A'&lt;BR /&gt;,if(Showtype=2 and ReductionType='Junior','B'&lt;BR /&gt;,... )) as NewClass&lt;BR /&gt;RESIDENT [NewClasses]&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;You could stop there and it should work fine. You'll have a synthetic key, but I think that's fine in this case. It might well calculate the charts a little slower than if NewClass was on the main table. So you might wish to put the NewClass field on the main table instead:&lt;/P&gt;&lt;P style="padding-left:30px;"&gt;LEFT JOIN ([MainTable])&lt;BR /&gt;LOAD *&lt;BR /&gt;RESIDENT [NewClasses]&lt;BR /&gt;;&lt;BR /&gt;DROP TABLE [NewClasses]&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;If there are too many classification fields or too many values, there's probably an efficient way to extract the actual combinations rather than all possible combinations, such as loading a field that concatenates all the classes during the main load, then subfielding the fieldvalue of it to get your rows. Not sure.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Nov 2009 03:38:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Dynamic-Classification-of-Cross-Dimensions/m-p/231254#M83024</guid>
      <dc:creator>johnw</dc:creator>
      <dc:date>2009-11-05T03:38:11Z</dc:date>
    </item>
    <item>
      <title>Dynamic Classification of Cross-Dimensions</title>
      <link>https://community.qlik.com/t5/QlikView/Dynamic-Classification-of-Cross-Dimensions/m-p/231255#M83025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'll give it a shot, this weekend.&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Nov 2009 15:32:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Dynamic-Classification-of-Cross-Dimensions/m-p/231255#M83025</guid>
      <dc:creator />
      <dc:date>2009-11-05T15:32:05Z</dc:date>
    </item>
  </channel>
</rss>

