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

Anúncios

2 pensamentos sobre “Melhores Práticas – Formatação de campos sem perder a leitura otimizada

  1. Sensacional chefe, em uma simples aplicação já ganhei 4 minutos em um recarga que demorava 5 minutos…
    Espero que tenha mais dicas de performance…
    Deixa eu correr e revisar todas as minhas aplicações.
    Abs.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s