Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements

Breathe easy -- you now have more time to plan your next steps with Qlik!
QlikView 11.2 Extended Support is now valid through December 31, 2020. Click here for more information.

Not applicable

comando PEEK

Boa tarde,

Gostaria de saber para que server o comando PEEK...E se possivel me enviar um exemplo?

agradeço desde já.

obrigado,

Tags (1)
2 Replies
Not applicable

comando PEEK

Olá Maurício,

Segundo a documentação do QlikView sobre o comando Peek.

peek( nomedocampo [ , linha [ , nomedatabela ] ] )

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.

Exemplos:

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.

hector
Not applicable

comando PEEK

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 Stick out tongue