<?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 set analysis with date range and possible values P() in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/set-analysis-with-date-range-and-possible-values-P/m-p/971082#M332448</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the challenge I'm facing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to calculate the performance of marketing actions. To achieve that I am comparing the sales during the action period against the same period in the previous month and previous year.&lt;/P&gt;&lt;P&gt;I created one register for each day of campaign and it is linked to the fact table by date, store and product.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the expression to calculate the sales within the action period:&lt;/P&gt;&lt;P&gt;sum({$&amp;lt;Date={"&amp;gt;=$(=num(min([Actions.BeginDate])))&amp;lt;=$(num(max([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.EndDate])))"},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&amp;gt;} Sales)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This expression will also give me the correct result if there is more than one action selected. For instance: if products A and B are marketed in April and products C and D in May, it gives me the sales of A+B in April and C+D in May.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to create similar expressions to calculate the sales of different periods:&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;sum({$&amp;lt;Date={"&amp;gt;=$(=num(AddMonths(min([Actions.BeginDate]),-1)))&amp;lt;=$(num(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;AddMonths(&lt;/SPAN&gt;max([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.EndDate]),-1)))"},&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&amp;gt;} Sales)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But this will give me the same result as the first expression and I have no idea why..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I created comparison date fields in the script for each action date, i.e. if Date=14/02/2015, there is a field Date_LastMonth=14/01/2015 and another for last year. Then I used the following expression:&lt;/P&gt;&lt;P&gt;sum({1&amp;lt;Date=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.Date_LastYear),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&amp;gt;} Sales)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This formula only works if I use 1, to represent the full set of records. If I use $ it will give me zero (would someone explain why?).&lt;/P&gt;&lt;P&gt;Another effect is that it only works if one action is selected - or else if they share the same store and products. If they don't, as in the example above, the expression gives the result of A+B+C+D in April and May.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same happens to:&lt;/P&gt;&lt;P&gt;(sum({1&amp;lt;Ano={'$(vMaxYear)'},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mês={'$(vPriorMonth)'},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dia={"&amp;gt;=$(=day([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions.BeginDate&lt;/SPAN&gt;]))&amp;lt;=$(=day(MonthEnd([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;.EndDate&lt;/SPAN&gt;])))"},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date=,&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CdCampanha=&amp;gt;} Sales))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to combine these expressions with aggr() using Action as dimension but it also didn't work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help on how I can have the sales of the proper products in the proper stores and date ranges?&lt;/P&gt;&lt;P&gt;If you need any extra information or clarification please let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Sep 2015 01:12:00 GMT</pubDate>
    <dc:creator>danmartins</dc:creator>
    <dc:date>2015-09-04T01:12:00Z</dc:date>
    <item>
      <title>set analysis with date range and possible values P()</title>
      <link>https://community.qlik.com/t5/QlikView/set-analysis-with-date-range-and-possible-values-P/m-p/971082#M332448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the challenge I'm facing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to calculate the performance of marketing actions. To achieve that I am comparing the sales during the action period against the same period in the previous month and previous year.&lt;/P&gt;&lt;P&gt;I created one register for each day of campaign and it is linked to the fact table by date, store and product.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the expression to calculate the sales within the action period:&lt;/P&gt;&lt;P&gt;sum({$&amp;lt;Date={"&amp;gt;=$(=num(min([Actions.BeginDate])))&amp;lt;=$(num(max([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.EndDate])))"},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&amp;gt;} Sales)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This expression will also give me the correct result if there is more than one action selected. For instance: if products A and B are marketed in April and products C and D in May, it gives me the sales of A+B in April and C+D in May.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to create similar expressions to calculate the sales of different periods:&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;sum({$&amp;lt;Date={"&amp;gt;=$(=num(AddMonths(min([Actions.BeginDate]),-1)))&amp;lt;=$(num(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;AddMonths(&lt;/SPAN&gt;max([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.EndDate]),-1)))"},&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&amp;gt;} Sales)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But this will give me the same result as the first expression and I have no idea why..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I created comparison date fields in the script for each action date, i.e. if Date=14/02/2015, there is a field Date_LastMonth=14/01/2015 and another for last year. Then I used the following expression:&lt;/P&gt;&lt;P&gt;sum({1&amp;lt;Date=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.Date_LastYear),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&amp;gt;} Sales)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This formula only works if I use 1, to represent the full set of records. If I use $ it will give me zero (would someone explain why?).&lt;/P&gt;&lt;P&gt;Another effect is that it only works if one action is selected - or else if they share the same store and products. If they don't, as in the example above, the expression gives the result of A+B+C+D in April and May.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same happens to:&lt;/P&gt;&lt;P&gt;(sum({1&amp;lt;Ano={'$(vMaxYear)'},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mês={'$(vPriorMonth)'},&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dia={"&amp;gt;=$(=day([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions.BeginDate&lt;/SPAN&gt;]))&amp;lt;=$(=day(MonthEnd([&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;.EndDate&lt;/SPAN&gt;])))"},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date=,&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Store=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Store&lt;/SPAN&gt;),&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product=P(&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Actions&lt;/SPAN&gt;.&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Product&lt;/SPAN&gt;)&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CdCampanha=&amp;gt;} Sales))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to combine these expressions with aggr() using Action as dimension but it also didn't work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help on how I can have the sales of the proper products in the proper stores and date ranges?&lt;/P&gt;&lt;P&gt;If you need any extra information or clarification please let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2015 01:12:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/set-analysis-with-date-range-and-possible-values-P/m-p/971082#M332448</guid>
      <dc:creator>danmartins</dc:creator>
      <dc:date>2015-09-04T01:12:00Z</dc:date>
    </item>
  </channel>
</rss>

