<?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 Loop multiplicando valores de uma tabela in Visualization and Usability</title>
    <link>https://community.qlik.com/t5/Visualization-and-Usability/Loop-multiplicando-valores-de-uma-tabela/m-p/2069825#M230083</link>
    <description>&lt;P&gt;montei a tabela&amp;nbsp;&lt;/P&gt;
&lt;P&gt;LOAD * INLINE [&lt;BR /&gt;cod_usuario, data, cod_evento&lt;BR /&gt;1, 01/01/2023, 50&lt;BR /&gt;1, 02/01/2023, 10&lt;BR /&gt;1, 03/01/2023, 10&lt;BR /&gt;1, 04/01/2023, 20&lt;BR /&gt;2, 01/01/2023, 10&lt;BR /&gt;2, 02/01/2023, 10&lt;BR /&gt;2, 03/01/2023, 10&lt;/P&gt;
&lt;P&gt;]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Estou montando uma regra onde monto uma coluna contador, onde incrementa caso 'cod_usuario' e 'cod_evento' for igual ao anterior, seguindo em ordem a data.&lt;/P&gt;
&lt;P&gt;Ou seja.&lt;/P&gt;
&lt;P&gt;Precisa ficar assim:&lt;/P&gt;
&lt;P&gt;cod_usuario, data, cod_evento, contador[&lt;/P&gt;
&lt;P&gt;1, 01/01/2023, 50, 1 &lt;BR /&gt;1, 02/01/2023, 10, 1&lt;BR /&gt;1, 03/01/2023, 10, 2&lt;BR /&gt;1, 04/01/2023, 20, 1&lt;BR /&gt;2, 01/01/2023, 10, 1&lt;BR /&gt;2, 02/01/2023, 10, 2&lt;BR /&gt;2, 03/01/2023, 10, 3&lt;/P&gt;
&lt;P&gt;]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Meu script atualmente é:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;let contador = 1;
FOR i = 1 to NoOfRows('dados_ord')-1
    LET evento_atual = Peek('cod_evento', i, 'dados_ord');
    LET data = peek('data', i, 'dados_ord');
    LET evento_anterior = Peek('cod_evento', i-1, 'dados_ord');
    LET usuario_atual = Peek('cod_usuario', i, 'dados_ord');
    LET usuario_anterior = Peek('cod_usuario', i-1, 'dados_ord');
    let linha = peek('lin', i, 'dados_ord');
    
    IF evento_atual = evento_anterior AND usuario_atual = usuario_anterior THEN
let contador = $(contador) + 1;
        
    ELSE
        LET contador = 1;
    ENDIF
    
    
    dados_ord_2:
    LOAD 
    $(usuario_atual) as usuario,
        $(evento_atual) as evento,
        $(contador) as contador,
        $(data) as dt
    Resident dados_ord    ;


NEXT

&lt;/LI-CODE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;O que acontece é que está multiplicando todos os valores. No final leu 42 registros.&lt;/DIV&gt;
&lt;DIV&gt;Vendo no debug, ele correu 7x, mas no load 42 registros.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Como resolver? Preciso salvar essa tabela resultante em um qvd.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Obrigado&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
    <pubDate>Wed, 10 May 2023 17:20:28 GMT</pubDate>
    <dc:creator>mxell</dc:creator>
    <dc:date>2023-05-10T17:20:28Z</dc:date>
    <item>
      <title>Loop multiplicando valores de uma tabela</title>
      <link>https://community.qlik.com/t5/Visualization-and-Usability/Loop-multiplicando-valores-de-uma-tabela/m-p/2069825#M230083</link>
      <description>&lt;P&gt;montei a tabela&amp;nbsp;&lt;/P&gt;
&lt;P&gt;LOAD * INLINE [&lt;BR /&gt;cod_usuario, data, cod_evento&lt;BR /&gt;1, 01/01/2023, 50&lt;BR /&gt;1, 02/01/2023, 10&lt;BR /&gt;1, 03/01/2023, 10&lt;BR /&gt;1, 04/01/2023, 20&lt;BR /&gt;2, 01/01/2023, 10&lt;BR /&gt;2, 02/01/2023, 10&lt;BR /&gt;2, 03/01/2023, 10&lt;/P&gt;
&lt;P&gt;]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Estou montando uma regra onde monto uma coluna contador, onde incrementa caso 'cod_usuario' e 'cod_evento' for igual ao anterior, seguindo em ordem a data.&lt;/P&gt;
&lt;P&gt;Ou seja.&lt;/P&gt;
&lt;P&gt;Precisa ficar assim:&lt;/P&gt;
&lt;P&gt;cod_usuario, data, cod_evento, contador[&lt;/P&gt;
&lt;P&gt;1, 01/01/2023, 50, 1 &lt;BR /&gt;1, 02/01/2023, 10, 1&lt;BR /&gt;1, 03/01/2023, 10, 2&lt;BR /&gt;1, 04/01/2023, 20, 1&lt;BR /&gt;2, 01/01/2023, 10, 1&lt;BR /&gt;2, 02/01/2023, 10, 2&lt;BR /&gt;2, 03/01/2023, 10, 3&lt;/P&gt;
&lt;P&gt;]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Meu script atualmente é:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;let contador = 1;
FOR i = 1 to NoOfRows('dados_ord')-1
    LET evento_atual = Peek('cod_evento', i, 'dados_ord');
    LET data = peek('data', i, 'dados_ord');
    LET evento_anterior = Peek('cod_evento', i-1, 'dados_ord');
    LET usuario_atual = Peek('cod_usuario', i, 'dados_ord');
    LET usuario_anterior = Peek('cod_usuario', i-1, 'dados_ord');
    let linha = peek('lin', i, 'dados_ord');
    
    IF evento_atual = evento_anterior AND usuario_atual = usuario_anterior THEN
let contador = $(contador) + 1;
        
    ELSE
        LET contador = 1;
    ENDIF
    
    
    dados_ord_2:
    LOAD 
    $(usuario_atual) as usuario,
        $(evento_atual) as evento,
        $(contador) as contador,
        $(data) as dt
    Resident dados_ord    ;


NEXT

&lt;/LI-CODE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;O que acontece é que está multiplicando todos os valores. No final leu 42 registros.&lt;/DIV&gt;
&lt;DIV&gt;Vendo no debug, ele correu 7x, mas no load 42 registros.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Como resolver? Preciso salvar essa tabela resultante em um qvd.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Obrigado&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Wed, 10 May 2023 17:20:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Visualization-and-Usability/Loop-multiplicando-valores-de-uma-tabela/m-p/2069825#M230083</guid>
      <dc:creator>mxell</dc:creator>
      <dc:date>2023-05-10T17:20:28Z</dc:date>
    </item>
  </channel>
</rss>

