Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
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,

2 Replies
Not applicable
Author

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
Specialist
Specialist

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