<?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: Calcular IFs e AGGR no Script in Brasil</title>
    <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68445#M3622</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bruno,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;alterei o 3 por -3 e me trouxe resultado, porém, me trouxe as vendas do mês selecionado e não as vendas dos 3 meses anteriores ao mês selecionado, que é o comportamento esperado.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 20 Apr 2018 13:01:24 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-04-20T13:01:24Z</dc:date>
    <item>
      <title>Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68440#M3617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pessoal, boa tarde!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tenho uma aplicação com N regras de negócio e por conta disso tive que acabar criando vários IFs e AGGR na camada de aplicação, pois muitos deles usam o valor inserido pelo usuário para o cálculo. Porém, com estas expressões complexas e volumetria, minha app está praticamente "inavegável" de tão lenta, zero de performance.&lt;/P&gt;&lt;P&gt;Gostaria de realizar algumas expressões no script mas estou com certa dificuldade.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Variantes da aplicação: os valore são calculados considerando o mês/ano selecionado pelo usuário e os valores inseridos por ele&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Exemplo de um IF:&lt;/P&gt;&lt;PRE __default_attr="sql" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_15241659673195643 jive_text_macro" jivemacro_uid="_15241659673195643"&gt;
&lt;P&gt;if(&lt;/P&gt;
&lt;P&gt;(Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(min(DTPRIMENTRADA))) &amp;lt; Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(addmonths(Max(TEMPO_MES_ANO), -3)) and (Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(min(DTPRIMENTRADA))) &amp;gt; 0,&lt;/P&gt;
&lt;P&gt;Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(min(DTPRIMENTRADA)),&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;if((Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(min(DTPRIMENTRADA))) &amp;lt; 0,&lt;/P&gt;
&lt;P&gt;0&lt;/P&gt;
&lt;P&gt;,&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;if((Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(min(DTPRIMENTRADA))) &amp;gt; Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(addmonths(Max(TEMPO_MES_ANO), -3)),&lt;/P&gt;
&lt;P&gt;Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(addmonths(Max(TEMPO_MES_ANO), -3))&lt;/P&gt;
&lt;P&gt;)&lt;/P&gt;
&lt;P&gt;)&lt;/P&gt;
&lt;P&gt;)&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Exemplo de um AGGR (que tbm tem IF dentro dele):&lt;/P&gt;&lt;PRE __default_attr="sql" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15241659528439163" jivemacro_uid="_15241659528439163"&gt;
&lt;P&gt;=sum(&lt;/P&gt;
&lt;P&gt;aggr(&lt;/P&gt;
&lt;P&gt;((AVG(AGGR(SUM({&amp;lt;PRODUTO_STATUS-={'Descontinuado', 'Desativado'},FILIAL_NOME-={},PRODUTO_NOME-={}, TEMPO_MES_ANO={"&amp;gt;=$(=Date(addmonths(Max(TEMPO_MES_ANO), -3))) &amp;lt;$(=Date(addmonths(Max(TEMPO_MES_ANO), -0)))"}&amp;gt;}DIAS_RUPTURA), FILIAL_NOME, PRODUTO_NOME)))&lt;/P&gt;
&lt;P&gt;*&lt;/P&gt;
&lt;P&gt;(&lt;/P&gt;
&lt;P&gt;$(vVenda3MesesExcetoDesativadoDescontinuado)&lt;/P&gt;
&lt;P&gt;/&lt;/P&gt;
&lt;P&gt;(&lt;/P&gt;
&lt;P&gt;(Date(addmonths(Max(TEMPO_MES_ANO), -0)) - Date(addmonths(Max(TEMPO_MES_ANO), -3)))&lt;/P&gt;
&lt;P&gt;-&lt;/P&gt;
&lt;P&gt;(AVG(AGGR(SUM({&amp;lt;PRODUTO_STATUS-={'Descontinuado', 'Desativado'},FILIAL_NOME-={},PRODUTO_NOME-={}, TEMPO_MES_ANO={"&amp;gt;=$(=Date(addmonths(Max(TEMPO_MES_ANO), -3))) &amp;lt;$(=Date(addmonths(Max(TEMPO_MES_ANO), -0)))"}&amp;gt;}DIAS_RUPTURA), FILIAL_NOME, PRODUTO_NOME)))&lt;/P&gt;
&lt;P&gt;)&lt;/P&gt;
&lt;P&gt;)&lt;/P&gt;
&lt;P&gt;*&lt;/P&gt;
&lt;P&gt;avg({&amp;lt;TEMPO_MES_ANO=, FILIAL_NOME=&amp;gt;}VALOR_VENDA))&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;, PRODUTO_NOME, FILIAL_NOME)&lt;/P&gt;
&lt;P&gt;)&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Poderiam me ajudar a otimizar essa aplicação?&lt;/P&gt;&lt;P&gt;Segue app em anexo com todas as minhas expressões&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Obrigada!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2018 19:36:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68440#M3617</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-19T19:36:57Z</dc:date>
    </item>
    <item>
      <title>Re: Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68441#M3618</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pamela,&lt;/P&gt;&lt;P&gt;Boa tarde.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Veja se ajustando o Set Analysis de Tempo consegue alguma melhora.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sum({&amp;lt;&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;TEMPO_MES_ANO&lt;/SPAN&gt;={"&amp;gt;=$(=Max([&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;TEMPO_MES_ANO&lt;/SPAN&gt;],3))"}&amp;gt;}&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;DIAS_RUPTURA&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Essa expression irá retornar os dados dos últimos três meses, mas sem consumir memoria de calculo com função de Date e Addmonths.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2018 20:32:03 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68441#M3618</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-19T20:32:03Z</dc:date>
    </item>
    <item>
      <title>Re: Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68442#M3619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oi Pamela tudo joia?&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Olha, voce pode começar criando uma tabela&amp;nbsp; ou variaveis com os dados que vc usa no seu IF, isso ja ajuda muito na visualização.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2018 20:42:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68442#M3619</guid>
      <dc:creator>eduardo_dimperio</dc:creator>
      <dc:date>2018-04-19T20:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68443#M3620</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Olá, Bruno!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tentei usar essa expressão mas ela não está me trazendo resultado, tá me trazendo 0.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2018 12:45:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68443#M3620</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-20T12:45:16Z</dc:date>
    </item>
    <item>
      <title>Re: Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68444#M3621</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Olá, Eduardo!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Como seria essa tabela?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sobre usar variáveis, em algumas expressões já utilizo. Melhora significativamente a performance?&lt;/P&gt;&lt;P&gt;Vou tentar aplicar nas demais.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2018 12:46:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68444#M3621</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-20T12:46:46Z</dc:date>
    </item>
    <item>
      <title>Re: Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68445#M3622</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bruno,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;alterei o 3 por -3 e me trouxe resultado, porém, me trouxe as vendas do mês selecionado e não as vendas dos 3 meses anteriores ao mês selecionado, que é o comportamento esperado.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2018 13:01:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68445#M3622</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-20T13:01:24Z</dc:date>
    </item>
    <item>
      <title>Re: Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68446#M3623</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;O que melhora a performance é evitar contas como o Bruno recomendou ou ainda evitar alguns tipos de relacionamentos entre tabelas, eu particularmente evito deixar pro Set Analysis fazer o trabalho e coloca o maximo de seleçoes e contas no Script. Sugeri criar tabelas porque fica mais facil de se trabalhar (alem de diminuir o tempo de carga). Quanto a como seria essa tabela, ela deve conter os campos que voce esta criando com o addMonth e os Max() e Min().&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2018 14:02:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68446#M3623</guid>
      <dc:creator>eduardo_dimperio</dc:creator>
      <dc:date>2018-04-20T14:02:41Z</dc:date>
    </item>
    <item>
      <title>Re: Calcular IFs e AGGR no Script</title>
      <link>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68447#M3624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Pamela,&lt;/P&gt;&lt;P&gt;Acredito que não funcionou por causa do formato do seu campo de AnoMes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="CapturarAnomes.PNG" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/200404_CapturarAnomes.PNG" style="height: auto;" /&gt;&lt;/P&gt;&lt;P&gt;Na expressão que passei ira funcionar bem se criar o campo do AnoMês no seu modelo conforme formato abaixo:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dim_Tempo:&lt;/P&gt;&lt;P&gt;LOAD %ID_TEMPO, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPO_MES_ANO,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;YEAR(TEMPO_MES_ANO)*100+MONTH(TEMPO_MES_ANO) AS AnoMes&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;FROM&lt;/P&gt;&lt;P&gt;$(vQVD.Transformacao)dim_Calendario.qvd&lt;/P&gt;&lt;P&gt;(qvd);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2018 15:16:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Brasil/Calcular-IFs-e-AGGR-no-Script/m-p/68447#M3624</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-20T15:16:27Z</dc:date>
    </item>
  </channel>
</rss>

