Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde,
Gostaria de saber para que server o comando PEEK...E se possivel me enviar um exemplo?
agradeço desde já.
obrigado,
Olá Maurício,
Segundo a documentação do QlikView sobre o comando Peek.
Retorna o conteúdo do nomedocampo no registro especificado por linha na tabela de entrada nomedatabela. Os dados são lidos da base de dados associada do QlikView.
O nomedocampo deve ser fornecido como string (por exemplo, um literal entre aspas).
Linha deve ser um inteiro. 0 indica o primeiro registro, 1 indica o segundo e assim por diante. Os números negativos indicam a ordem a partir do final da tabela. -1 indica o último registro lido.
Se nenhuma linha for definida, -1 será assumido.
Nomedatabela é um rótulo de tabela sem os dois-pontos finais. Se nenhum nomedatabela for definido, a tabela atual será assumida. Se usado fora do comando local ou em referência a outra tabela, o nomedatabela deve ser incluído.
peek( 'Vendas' )
retorna o valor de Vendas na leitura do registro anterior (equivale a previous(Vendas) ).
peek( 'Vendas', 2 )
retorna o valor de Vendas a partir do terceiro registro lido na tabela de entrada atual.
peek( 'Vendas', -2 )
retorna o valor de Vendasa partir do segundo registro lido na tabela de entrada atual.
peek( 'Vendas', 0, Tab1 )
retorna o valor de Vendas a partir do primeiro registro lido na tabela de entrada Tab1.
Load A, B, numsum( B, peek( 'Bsum' ) ) as Bsum...;
cria um acumulado de B em Bsum.
Ex.
Vou ler uma tabela com 4 registros e para cada registro vou gerar uma variável com o conteúdo do registro.
Rótulos:
LOAD * INLINE [
Rótulo
Faturamento
Desconto
Custo
Margem
];
For a=0 to NoOfRows('Rótulos')
LET vNroLinha = $(a) + 1;
LET vPeek_Linha_$(vNroLinha) = Peek('Rótulo',$(a));
Next
Ao final da execução desse código poderemos ver as seguintes variáveis.
Hi
Also works in the load statement, to create accumulated fields as
rangesum(Field,peek('AccumField')) as AccumField
Rgds
PD. sorry about posting in english