Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Função - Banco de Dados x Qlikview

Boa Tarde a todos,

Gostaria de ver as opiniões de vocês e também se já encontraram algum caso parecido.

Existem algumas informações em meu modelo que necessitam diversas fórmulas e cálculos para se obter um resultado.

Qual a melhor maneira de se fazer isso? Utilizando o banco de dados através de procedures e funções, ou seja, realizando todo esse cálculo dentro do banco, ou levar os dados brutos para dentro do qlikview e realizar as contas/fórmulas dentro dele.

Creio que tratando os dados dentro do Qlikview é o melhor caminho, porém por se tratar de fórmulas e cálculos complexos, optei por realizar dentro do próprio banco de dados.

Alguêm já se deparou com este problema?

13 Replies
Not applicable
Author

Eduardo, eu utilizo a abordagem de sempre fazer tudo no Qlikview, trazendo apenas os dados brutos do banco. Em primeiro pq o Qlikview possui muito mais recursos do que os BD para resolver qualquer que seja o problema, o caso � que normalmente estamos mais habituados a trabalhar com BD e n�o com o Qlikview, mas com o tempo utilizando sempre o Qlikview, fica evidente que � melhor fazer tudo no Qlikview. Outro fato que de ser levado em considera��o � que nem sempre o consultor Qlikview ter� acesso ao BD para fazer procedures ou views, sendo assim o Qlikview te da independ�ncia.
Not applicable
Author

Fala Fabio!

Concordo com a idéia de que o qlikview da essa independência, mas ja encontrou casos em que teve que transformar uma função complexa de um banco de dados para dentro do qlikview? E se conseguiu, este cálculo dentro do qlikview não ficou pesado?

Caique_Zaniolo
Employee
Employee

Eduardo,

mesmo que um cálculo seja mais complexo e consuma mais recursos eu prefiro fazer em QlikView.

O Fábio sabe bem que eu sempre enfatizei isso nos treinamentos que fui o instrutor (e não foram poucos! rsrs)

Se você pensar que o banco de dados está em produção e um dos seus cálculos pode deixar um DBA de "cabelo em pé", vai começar a fazer tudo em QlikView também.

Você tem todos os recursos que teriam em uma query, então vale a pena transformar tudo internamente, mesmo que pra isso você precise criar vários QVDs temporários pra chegar na informação final. Já fiz transformações com 5 etapas de QVD até ter os dados como eu precisava.

Sem contar que você carrega bruto do banco uma vez, abre outro QVW e não puxa mais nada do banco até concluir o desenvolvimento. Isso, em ambientes corporativos, é essencial.

Abraços

Not applicable
Author

Sim Eduardo, v�rias situa��es bem complexas. O que costumo fazer quando o problema � muito complexo e dividi-lo em partes, crio um QVW que resolver parte do problema gerando um QVD. Carrego esse QVD em uma aplica��o seguinte e resolvo outra parte do problema. Claro, que cada caso � um caso, utilizar v�rios QVWs � para um caso bem complexo, em um sistema grande. Mas de todo forma eu sempre uso QVW. O caso que talvez seja um dos mais chatos de ser resolvidos no Qlikview s�o os de Sub Select, no SQL (dependendo do banco de dados) tem esse recurso que facilita muito, no Qlikview n�o, ent�o a abordagem tem que ser totalmente diferente, alguns caso precisei utilizar looping no Qlikview para resolver um caso que no SQL seria resolvido com alguns subselects no Where. Mas de qualquer forma com mais ou menos trabalho tenho feito tudo utilizando Qlikview. Estou a 3 anos com o Qlikview, sempre utilizei s� ele pra resolver tudo. Como o caso citado dos subselects nem sempre � mais simples resolver no Qlikview, mas � poss�vel. Qualquer coisa estamos ai, abra�o.
Caique_Zaniolo
Employee
Employee

Coisa linda! Aprendeu direitinho! Big Smile

Not applicable
Author

Então, era isso que queria saber, pois estava com receio de levar um tempo demasiado para jogar tudo dentro do qlikview e no final perceber que não daria para usar.

Mas como já encontraram casos como este e conseguiram resolver por la, vou tratar por aqui tbm.

Abraços!

Not applicable
Author


Caique Zaniolo wrote:
Coisa linda! Aprendeu direitinho! Big Smile<div></div>
Tive bons mestres!!!! 🙂
Not applicable
Author

Olá Senhores,

Concordo plenamente com Fábio e Caique. Mas só para apimentar mais a discussão.

Mas temos que considerar um fator importante que é a janela para fazermos esses cálculos complexos no QlikView.

Trabalho com QlikView desde 2005 e sempre fiz todos cálculos no QlikView, até me deparar com uma janela de processamento para o QlikView de 1:45 apenas. Como estava trabalhando com duas fatos que geravam dois QVDs de 3 GB cada uma, os cálculos para esses QVDs estava extrapoloando a janela disponível. Olha que o calculo nem era tão complexo assim.

Fizemos uma alteração no SQL para fazer esses cálculos e conseguimos reduzir o tempo de carga diária de 2:45h para 1:30h.

Hoje o cliente esta muito satisfeito com o QlikView.

Abraços a todos.

Tonial.

nicolett_yuri

Eduardo, acredito que a melhor forma é trazer todos os dados, do banco, sem nenhuma tratativa. Com os dados em qvd, você vai fazendo os tratamentos que precisará utilizar em sua aplicação.

Acho que o ponto dessa discussão é: Nem sempre você vai ter um banco de dados que suportará uma lógica entre várias tabelas, desta forma as regras implementadas no qlikview irão "aliviar" o banco de dados.

Tenho aplicações que pegam os dados tratados do banco de dados e aplicações que as tratativas são aplicadas dentro do QlikView. Minha opinião é: faça sempre no QlikView, pois alem de você aprender muito, você vai saber exatamente o que esta fazendo. Claro que para isso você vai ter que saber um pouco da regra de negócio da base de dados, mas acredito que isso não seja um problema.

PS: E da pra "brincar" bastante com os QVD`s. Use e abuse dos resident e drop table kkkkkk!