Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
montei a tabela
LOAD * INLINE [
cod_usuario, data, cod_evento
1, 01/01/2023, 50
1, 02/01/2023, 10
1, 03/01/2023, 10
1, 04/01/2023, 20
2, 01/01/2023, 10
2, 02/01/2023, 10
2, 03/01/2023, 10
]
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.
Ou seja.
Precisa ficar assim:
cod_usuario, data, cod_evento, contador[
1, 01/01/2023, 50, 1
1, 02/01/2023, 10, 1
1, 03/01/2023, 10, 2
1, 04/01/2023, 20, 1
2, 01/01/2023, 10, 1
2, 02/01/2023, 10, 2
2, 03/01/2023, 10, 3
]
Meu script atualmente é:
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