Skip to main content

Brasil

Announcements
QlikWorld 2023, a live, in-person thrill ride. Save $300 before February 6: REGISTER NOW!
cancel
Showing results for 
Search instead for 
Did you mean: 
nicolett_yuri

Melhores Práticas - Formatação de campos sem perder a leitura otimizada

Fala pessoal, tudo bom?

Provavelmente em algum momento você já teve que carregar uma tabela fato grande e notou que alguns campos numéricos e datas não vieram formatados da forma em que precisa para exibi-los e utiliza-los em suas expressões, nossa primeira reação é de adicionar as funções de formatação no script de leitura deste QVD, mas logo percebemos que a leitura que antes ocorria em 20 segundos passou a demorar mais de 10 minutos por que perdemos a leitura otimizada do QVD.

Lembram o que é uma leitura otimizada? Eu falei disso neste post: Melhores Práticas - QVD Optimized.

Em resumo, um QVD mantém a leitura otimizada somente quando realizamos essas ações em sua leitura:

  • Renomear campos
  • DISTINCT
  • Omitir Campos (Omit)
  • Where Exists Simples

É... lá se vai a leitura otimizada quando utilizo as funções de formatação Date ou Num. Mas afinal, é possível formatar campos sem que percamos a leitura otimizada deste QVD? SIM!

Primeiro precisamos de uma tabela com campos não formatadas, como a imagem abaixo:

01

Neste exemplo temos o campo DATA e VALOR sem formatação.

Queremos formatar a DATA como 'DD/MM/YYYY hh:mm:ss' e o VALOR com duas casas decimais.

IMPORTANTE: Estamos apenas formatando o campo, ou seja, não podemos remover a informação de hora, minuto e segundo do campo de DATA, pois isso seria uma transformação de valores.

Agora precisamos criar uma tabela temporária com a formatação correta para os campos que desejamos formatar. Para isso iremos utilizar o comando AutoGenerate.

Note que cada campo formatado deve conter o mesmo nome do campo que será formatado.

Veja o código:

02

A formatação pode ocorrer sobre o Null(), pois o mais importante é fazermos o QlikView identificar que o campo DATA e o VALOR possuem estas formatações.

Agora podemos carregar o nosso QVD e depois dropar a tabela de formatação de campos:

03

Vejam o processo de execução do script:

04

Muito bom!!

Por que isso ocorre? Pois o Qlikview cria a associação da formatação para o campo independente da tabela em que este campo esteja (lembre-se da associação de dados), ou seja, para o Qlikview o campo DATA possui a formatação 'DD/MM/YYYY hh:mm:ss' e o campo VALOR possui a formatação '#.##0,00'.

Material para download

Segue um qvw demonstrando os passos realizados deste artigo. Clique aqui!

Conclusão

É claro que podemos formatar campos através da aba Número das propriedades do documento, mas é importante identificarmos os pequenos erros que cometemos por falta de entendimento de como a ferramenta se comporta para determinadas situações.

Até a próxima semana pessoal!!

Labels (1)
3 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

Essa realmente é boa, uso há muito tempo.

Don't worry, be Qlik.

Tonial.

Don't Worry, be Qlik.
Ribeiro
Specialist
Specialist

Bacana Yuri,

Vou testar aqui.

em um aplicação que usa QVD por data.

Neves
marcio150972
Creator
Creator

Show a postagem, estava procurando na comunidade bem isso, como otimizar documento com formatações, vou utilizar as dicas, valeu