13 Replies Latest reply: Jul 22, 2011 11:05 PM by Aderlan Rodrigues RSS

    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?

        • Função - Banco de Dados x Qlikview
          fsimoes
          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.
            • Função - Banco de Dados x Qlikview

              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?

                • Função - Banco de Dados x Qlikview
                  Caique Zaniolo

                  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

                  • Função - Banco de Dados x Qlikview
                    fsimoes
                    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.
                • Função - Banco de Dados x Qlikview

                  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.

                    • Função - Banco de Dados x Qlikview
                      Vitor Teixeira

                       

                      Boa Tarde Senhores,

                      Acredito que a maioria dos entusiastas do Qlikview, tendem a optar por resolver tudo dentro do Qlikview.

                      Eu me incluo nisso, mas acredito que algumas coisas têm que ser levadas em conta antes de decidir isso. Primeiro separar os cálculos das regras de extração.

                      Os cálculos se possível, devem ser realizados no Qlikview, com dados não agrupados para que possamos aproveitar a flexibilidade que o Qlikview nos oferece.

                      Com relação às regras de extração eu penso que acima de qualquer preceito, temos que considerar os requisitos do cliente.

                      Quando estamos trabalhando em projetos pequenos, você optar por uma coisa ou outra, não faz tanta diferença. Mas quando se pensa em grandes corporações, o negócio é mais embaixo.

                      Você pode ter um cliente que não deseja colocar as regras de um DW já existente no Qlikview. Você como consultor pode optar por vender a idéia de que o Qlikview pode substituir seu DW ou você pode ler os dados do DW e ter os resultados mais rápidos.

                      Em muitos dos projetos que participei, optei por ter um QVW para extrair do banco, e depois um pra transformar a informação e outro para ser o front end, em outros optei por separar em duas etapas e também já houve lugares em que desmontei essa estrutura e coloquei tudo num QVW só, porque a separação estava gerando mais manutenção pra mim.

                      Quero dizer com isso que o desejo de colocar tudo no Qlikview, não nos pode cegar ao ponto de propor ao cliente uma solução não adequada ao ambiente e necessidade do mesmo.

                      Pensando nisso, lembro que há uns três anos atrás eu não entendia porque toda pergunta que eu fazia com relação às boas práticas de desenvolvimento no Qlikview terminavam ou começavam com depende.

                      Hoje eu entendo... Tudo depende sim, dos requisitos, sejam eles requisitos técnicos, de negócio, do ambiente e etc ...

                      Abraços

                      Vitor

                       

                    • Função - Banco de Dados x Qlikview
                      Yuri Nicolett

                      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!

                        • Função - Banco de Dados x Qlikview

                          Pois é, eu estou fazendo testes com uma função que nós temos no nosso sistema aqui.

                          Mas é complexo demais as função... Recursividade, Sub-Selects, Chamadas de outras funções, Cursores, dentre outras.

                          A princípio estou conseguindo realizar, nada de impeditivo até agora, mas como o Sistema que utilizamos é um ERP (Mega), existem N funções a serem tratadas, basicamente é quase um redesenvolvimento da Lógica deste sistema dentro do Qlikview.

                          Com isso também estou apredendo várias funcionalidades do Qlikview e também a sua lógica de programação, pois sempre estive acustumado com Oracle / PlSql.

                          Abraços!

                        • Função - Banco de Dados x Qlikview
                          Cesar Accardi

                          Eduardo,

                          Eu já passei por uma situação muito semelhante, na empresa que eu trabalhava eles tinham o ERP Mega também, com a base em Oracle. Algumas informações que eu precisei extrair para o Qlik dependiam de funções do BD que eu não tinha acesso para visualizar o código, pois eram criptografadas. Nesta situação eu optei pela criação de views que tinham as chamadas das funções (com o mínimo de informação necessária para depender menos do BD), o resultado eu gerava os QVDs e relacionava com as demais tabelas. Concordo com os demais colegas que comentaram a preferência em fazer tudo no Qlikview, mas em casos assim não vejo outra saída.

                          Abraços

                          • Função - Banco de Dados x Qlikview
                            Aderlan Rodrigues

                            Olá a todos, adorei a discução.

                             

                            Comecei com o QlikView a pouquissimo tempo, não tenho a experiência que a maioria aqui tem, mas já trabalho com banco de dados a alguns anos.

                             

                            O mais impressionante é que as tecnologias surgem e evoluem e as grandes questões permanecem migrando entre elas... rsrsrsrs...

                             

                            A única certeza em comum é que "A ocasião faz o ladrão", ou seja, não importa qual a tecnologia, o que vai determinar o que fazer é a necessidade.

                             

                            Como foi citado vários exemplos acima, hora é o banco a melhor solução, outra é o QlikView, mas de regra ou na dúvida, acredito que todos concordam que devemos usar o QlikView, quando esse uso for inviável, sobre qualquer aspécto, usem a melhor solução encontrada, seja qual for, pois o que verdadeiramente importa é a satisfação do nosso cliente.

                             

                            Concordam?

                             

                            Grande a abraço.