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.
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
O que acontece é que está multiplicando todos os valores. No final leu 42 registros.
Vendo no debug, ele correu 7x, mas no load 42 registros.
Como resolver? Preciso salvar essa tabela resultante em um qvd.