Você está na página 1de 11

Conectando um banco de dados no QlikView.

Publicado em 24/10/2010 por Kelsen Lima

Conectando um banco de dados no QlikView.


Iremos iniciar alguns conceitos bsicos para que possamos iniciar nossos analises com
QlikView, pois bem, vamos comear pelo processo e carga de dados.
Com o QlikView podemos carregar facilmente dados de qualquer banco de dados que
possua um driver ODBC, arquivos textos, documentos do Excel entre outros,
independente da fonte dos dados, a forma de carga no varia muito.
Neste exemplo iremos nos conectar num banco de dados SQL Server, citando um
exemplo muito prtico e simples.
1. Vamos abrir o QlikView
2. Como demonstrado na imagem clique em editar script ou
clique ctrl+e
3. Neste exemplo iremos nos conectar num banco de dados SQL Server,
selecione a opo OLE DB conforme demonstrado abaixo e clique em
conectar.

4. Agora iremos selecionar a opo Microsoft OLE DB Provider for SQL


Server e vamos clicar em avanar.

Aps ter clicado em avanar a seguinte tela abaixo ir aparecer.

Neste ponto, iremos fazer nossa conexo com o banco qual desejamos utilizar. Em
selecione ou insira um nome de servidor podemos colocar informando o endereo IP
do servidor qual desejamos nos conectar ou selecionando um banco de dados instalado
localmente na mquina qual est sendo utilizada.
Na segunda opo usar a segurana integrada do Windows NT est opo
dever ser utilizada somente se o banco de dados qual esta sendo utilizado foi instalado
localmente na mquina qual estamos utilizando o QlikView, mas temos uma nota
importante o banco de dados, precisa estar com a opo Windows
Authenticationhabilitada,
caso
o
mesmo
esteja com
a
opo SQL
Authentication devemos selecionar a opo usar nome de usurio e senha especificos
informando um usurio e senha qual autorizao sob o banco de dados.
Na terceira opo selecionar o banco de dados no servidor aps termos
feito os dois ltimos passos, devemos selecionar o banco de dados qual desejamos
utilizar. Feito este passo podemos estar clicando em OK.

5. Feito os passos anteriores note que o QlikView criou uma string de


conexo com banco de dados qual iremos utilizar.
Neste exemplo estamos fazendo um comando bsico de Transact SQL select *
from nome_da_tabela_do_banco apos ter colocado este passo basta clicarmos
em recarregar para que o QlikView possa trabalhar com banco de dados.

6. Tento feito todos os passos o QlikView estar apto para trabalhar com o
banco de dados selecionado.

QlikView Primeiros Passos Carga


dos Dados
Publicado em 31/10/2010 por Kelsen Lima

Com o QlikView podemos carregar facilmente dados de qualquer banco de dados que possua um driver
ODBC, arquivos texto, documentos do Excel entre outros, independente da fonte dos dados, a forma de
carga no varia muito.

Vamos comear com a fonte mais comum de dados, que atravs de uma conexo ODBC com algum
banco de dados, no vou entrar nos detalhes a respeito da configurao do driver ODBC tendo em vista
que variam bastante de banco para banco, e tambm que geralmente a configurao da fonte ODBC fica a
cargo da equipe tcnica do cliente do cliente onde o projeto ser desenvolvido, j que ele tem os dados de
configurao, no cabe a um consultor QlikView esta obrigao.

Caso voc no tenha nenhum banco de dados instalado em seu computar e conseqentemente nenhuma
conexo ODBC, poder simular o exemplo que darei utilizando uma planilha do Excel, exemplo este que
tambm mostrarei neste artigo.

O exemplo que irei mostrar ser realizado com base em um banco de dados Firebird que possuo, trata-se
de um sistema escolar, de onde carregarei algumas tabelas para demonstrar, como realizar a carga de uma
fonte ODBC e tambm o vnculo entre as tabelas.

Figura 1 Editar Script

Primeiro na barra de ferramentas do QlikView procure pelo cone em destaque na Figura.1, ou CTRL+E
para ativar a janela de script. Feito isso na parte inferior da tela que surge procure pelo boto Conectar
em destaque na Figura.2 . Agora sero listadas todas as conexes ODBC configuradas em seu
computador, caso haja (Figura.3).

Figura 2 Boto Conectar

Figura 3 Lista de Conexes ODBC

Irei selecionar a opo Sappia, que a conexo ODBC para meu banco de dados Firebird,
automaticamente o QlikView ir gerar uma string de conexo:

ODBC CONNECT TO Sappia (XUserId is xpto, XPassword is xpto);


A partir desse momento passamos a ter acesso s tabelas desse banco de dados, e poderemos trazer para o
QlikView estas informaes para que possamos comear a trabalhar com elas. Atravs do boto
Selecionar em destaque na Figura.4.

Figura 4 Selecionar Tabelas

Agora exibida uma tela (wizard) para nos auxiliar na preparao do script de carga das tabelas do banco
de dados (Figura.5). Basta selecionar uma das tabelas do banco de dados e clicar no boto OK que
automaticamente ser criado o script de carga para a tabela selecionada.
Observe que na Figura.5 o checkbox Carga Anterior marcando este checkbox antes da instruo de
select ser adicionado um LOAD com a lista dos campos da tabela, isso bastante til para iniciarmos a
customizao dos nomes dos campos, inclusive eliminando campos desnecessrios ao negcio, campos
que sejam s de controle interno do sistema, e no sero utilizados para nenhuma anlise podero ser
suprimidos ao excluirmos estes do LOAD.

Figura 5 Wizard para criao do Select

Claro que isso tambm poderia ser feito no prprio select, no entanto o QlikView no gera
automaticamente select com o nome dos campos e teramos que colocar todos na mo, logo mais rpido
e prtico excluir os que no queremos do que adicionar todos os que precisamos.

Ento se voc selecionou a sua tabela e clicou em OK suponho que ter um script parecido com o que
demonstro abaixo (Figura.6), no meu caso acima do comando LOAD adicionei o nome da tabela
[Alunos]:, tambm utilizei o as para dar um apelido mais amigvel aos campos, e apliquei algumas
funes de data ao campo [Data de Nascimento do Aluno] para extrair algumas informaes que sero
bastante teis no momento de aplicar filtros.

Figura 6 Script de carga da tabela aluno

Agora seguindo o mesmo procedimento utilizado para gerar o script de carga para a tabela aluno, iremos
carregar a tabela Raa, que possui uma relao com a tabela Alunos, onde cada aluno pode ter pelo
menos uma raa vinculada a ele, este script ser algo como apresentado na Figura.7.

Figura 7 Script de carga da tabela Raa

Feito isso podemos realizar uma carga dos dados, clicando no boto recarregar . Aps o processo de carga
teremos algo como mostrado na Figura.8.
No vou entrar em detalhes de criao de objetos aqui, mas nesse momento os campos mostrados nas
tabelas da Figura.8 esto todos disponveis para a criao da objetos, sejam eles tabelas, grficos, etc.
Tanto como agrupadores quanto em expresses.

Figura 8 Tabelas carregadas

A Figura.8 mostra tambm uma relao entre as duas tabelas, Alunos e Raa, isso se deve ao fato de em
ambas as tabelas existirem dois campos de nome [Cdigo da Raa], o QlikView associa os dois campos
criando uma relao, sendo assim, selecionando um aluno na tabela [Alunos], ns saberemos qual a raa
dele, assim como selecionando um raa na tabela [Raa], saberemos quais alunos pertencem aquela raa.
Um das coisas que mais impressionam no QlikView essa facilidade de relacionar dados, para quem
conhece banco de dados, sabe que para criarmos uma relao entre tabelas necessrio um trabalho bem
mais rduo, e se torna mais complexo ainda quando existe a necessidade de mudar o relacionamento, no
QlikView mudamos os nomes dos campos no script (utilizando as se for o caso) recarregamos os dados
e pronto.

Agora vamos demonstrar como carregar dados de uma planilha do Excel, tambm relacionaremos os
dados desta planilha aos dados carregados do banco de dados.

A primeira coisa a fazer criar uma planilha no Excel (Figura.9), nesta planilha relacionei as raas
carregadas do banco de dados, e acrescentei uma coluna para definir as cotas para cada raa, agora iremos
carregar esta planilha, e vincular a descrio da raa na planilha, com a da nossa tabela [Raa] que foi
extrada do banco de dados. Logo teremos como saber a cota de cada aluno, alunos que tem direito a certa
cota, entre outras anlises.

Figura 9 Dados do Excel

Criada a planilha, voltamos ao editor de script (Figura.1), na parte inferior desta tela encontraremos o
boto Arquivos de Tabela. Ao clicar nele surgir uma tela onde deveremos indicar a localizao da
nossa planilha. Devemos observar que o QlikView permite carregar alm de arquivos do Excel, outros
como txt, HTML, XML, entre outros.
Localizado o arquivo da nossa planilha teremos a tela apresentada na Figura.10, no vou entrar em
detalhes sobre essa tela, mas aqui podemos definir o nome da cada coluna, se o nome das colunas
(rtulos) esto implcitos ou no, entre outros diversos recursos como transformao dos dados, os quais
no so foco deste artigo, mas esto bem detalhados nas documentaes do QlikView.

Figura 10 Manipulao de arquivos

No nosso caso vamos clicar no boto Finish simplesmente, isso ir gerar um script como o demonstrado
na Figura.11.

Figura 11 Script de carga da planilha

Agora vamos recarregar os dados novamente, e aps o trmino do processo teremos a seguinte relao de
tabelas (Figura.12), aqui o simples fato das duas tabelas terem o campo Raa, faz com seja criada uma
relao entre elas. A Figura.13 demonstra a relao raa x cota.

Figura 12 Tabelas carregadas

O QlikView muito poderoso e dinmico, quando se trata de relacionar dados impressiona ainda mais,
isso quer dizer que uma empresa que possua mais de um ERP ou vrios sistemas trabalhando, alm de
sistemas legados, podemos relacionar os dados desses diversos sistemas com facilidade, na pior das
hipteses com o auxilio de uma tabela De Para,realizar cruzamentos de dados entre outras anlises,
enfim, o cu o limite.

Figura 13 Filtro aplicado a lista

O objetivo deste artigo foi introduzir a respeito de um primeiro passo para que esta iniciando, espero que
eu tenha atingido o objetivo de fornecer uma porta de entrada para o QlikView, e que novos horizontes se
abram a partir de agora.

QlikView Analisando uma lista de valores


Publicado em 31/10/2010 por Kelsen Lima

No SQL temos um recurso bastante interessante para analisar uma lista de valores, o IN, logo que
comecei a utilizar o QlikView senti falta de um recurso semelhante no QlikView, uma breve pesquisada
no help do QlikView e logo encontrei um conjunto de funes que no s oferecem um recurso
equivalente ao IN como estendem as funcionalidades de tal recurso.

A primeira funo a match(), esta a mais prxima do IN em SQL, ela avalia o primeiro parmetro que
pode ser um campo ou uma varivel, e retorna o ndice das expresses listadas comeando de 1 at N,
caso o valor no seja encontrado nas expresses listadas o valor retornado ser 0. importante perceber
que esta funo sensvel a maisculas.
match( [Cdigo Alternativo],A333,B555,C888)
No exemplo acima caso o cdigo alternativo seja B555 o valor retornado pela funo ser 2, caso o valor
para o cdigo alternativo seja X100 ou c888 ser retornado 0.

A funo mixmatch se diferencia da funo match unicamente por no ser sensvel a maisculas.

mixmatch( [Cdigo Alternativo],A333,B555,C888)


Analisando o exemplo acima onde o cdigo alternativo seja a333 o valor retornado ser 1.

A ltima funo do conjunto bastante interessante, oferece os mesmos recursos da mixmatch, pois
tambm no sensvel a maisculas, e como recurso adicional permite a utilizao de mscaras, inclusive
em um campo blob, trabalhei muito tempo com banco de dados, e vez ou outra surgia necessidade de
pesquisar alguma coisa em um campo blob, e na maioria dos bancos de dados, no possvel utilizar um
campo blob na clausula where. Uma breve pesquisada no Google a respeito de pesquisas em campo
blob e muitas referncias ao assunto sero retornadas.

Felizmente no QlikView podemos utilizar a funo wildmatch(), que serve no s para campos com
textos mais extensos como tambm para os demais campos, inclusive numricos.

wildmatch([Observao],NF0012*,PED55??1)
No exemplo acima sero retornados registros cujo campo [Observao] contenha valores como:

Requisio para a NF00128


Pedido PED55ty1 enviado ao setor de vendas
Sendo assim podemos us-la em clausulas where, funes condicionas como IF, e tambm para atribuir
um valor a uma varivel se for o caso, em conjunto com outras funes como a peek() por exemplo.

O uso desse conjunto de funes possibilita maior clareza no script, facilitando a manuteno e a
compreenso das condies, ento, bom proveito a todos