View
78
Download
6
Category
Preview:
DESCRIPTION
QlikView é uma plataforma de Business Inteligence desenvolvida pela QlikTech (NASDAQ:QLIK) que combina interatividade e análise de informações em tempo real. Ela pode ser utilizada desde como uma ferramenta de relatórios em formato de tabela até a criação de gráficos elaborados e painéis de controle (dashboards) complexos com dados advindos de uma enormidade e variedade de origens.
Citation preview
Treinamento Básico
QlikView
Esta apostila é de propriedade intelectual de seu Autor e cedida à Zillion Treinamentos para ser
utilizada como texto base para treinamento ministrado pelo Autor junto àquela empresa.
Os textos e informações presentes nesta apostila (salvo quando citada a fonte) são de
propriedade do Autor e se encontram protegidos por Copyright e outras formas de proteção à
propriedade intelectual.
É expressamente proibida a reprodução desta apostila sob qualquer forma, salvo expresso
consentimento do Autor.
Qlik é uma marca comercial registrada pela QlikTech International AB.
QlikTech, QlikView, QlikStart, AQL e Data Cloud são marcas registradas e QlikTEAM é uma
marca de serviço da QlikTech International AB.
Todos os outros nomes de companhias, produtos e serviços usados aqui são marcas comerciais
registradas de seus respectivos proprietários.
Sumário
Introdução ..................................................................................................................................... 1 O que é QlikView? ..................................................................................................................... 1
Instalação do QlikView Personal Edition ....................................................................................... 3 Conhecendo o QlikView ................................................................................................................ 7
Executando o QlikView ............................................................................................................. 7 Vamos trabalhar com cores?..................................................................................................... 8
Sua primeira aplicação ................................................................................................................ 12 Escolhendo uma base de dados .............................................................................................. 12 Criando a aplicação ................................................................................................................. 12 O Script .................................................................................................................................... 13 Carregando os dados ............................................................................................................... 15 Sua primeira nuvem de dados................................................................................................. 15 Construindo seu primeiro gráfico ........................................................................................... 17 Inserindo filtros ....................................................................................................................... 20 Adicionando informações à nossa aplicação .......................................................................... 22
Formatando a aplicação .............................................................................................................. 24 Adicionando uma imagem de fundo ....................................................................................... 24
Dimensões e Fatos ...................................................................................................................... 28 Tipos de esquemas lógicos ...................................................................................................... 28
“Star Schema” ou em estrela .............................................................................................. 28 “Snow-Flake” ou em floco de neve ..................................................................................... 29
Benefícios de uma modelagem dimensional .......................................................................... 29 O objeto Lista .............................................................................................................................. 30 O objeto Texto ............................................................................................................................. 33 O objeto Caixa de Estatísticas ..................................................................................................... 35 O objeto Seleção Múltipla ........................................................................................................... 36 O objeto Tabela ........................................................................................................................... 37 O objeto Gráfico .......................................................................................................................... 38
Introdução ............................................................................................................................... 38 Opções comuns a todos os tipos de gráficos .......................................................................... 41
Aba “Geral” ......................................................................................................................... 41 Aba “Dimensões” ................................................................................................................ 43 Aba “Número” ..................................................................................................................... 45 Aba “Fonte” ......................................................................................................................... 46 Aba “Layout” ....................................................................................................................... 47
Gráfico tipo “Pizza” ................................................................................................................. 48 Dimensões em gráfico de pizza ........................................................................................... 48 Construindo seu gráfico de pizza ........................................................................................ 49 Incrementando seu gráfico de pizza ................................................................................... 51 “HOW-TO” - Solicitações comuns em gráficos de pizza ...................................................... 52
Gráfico tipo “Barra”, “Linha” e “Combinado” ......................................................................... 54 Dimensões em gráfico de barra/linha ................................................................................. 54 Construindo seu gráfico de barras/linhas ........................................................................... 54 Incrementando seu gráfico de barras ................................................................................. 57 Combinando Linhas e Barras ............................................................................................... 57 “HOW-TO” - Solicitações comuns em gráficos de barra ..................................................... 59
Gráfico tipo “Tabela Simples” e “Tabela Dinâmica” ............................................................... 61 Gráfico tipo Tabela Simples ................................................................................................. 61 Ordenações ......................................................................................................................... 63 Formatações de Estilo ......................................................................................................... 63 Efeitos Visuais ...................................................................................................................... 63
Adicionando outra expressão de texto ............................................................................... 64 Nomeando as colunas ......................................................................................................... 64 Auto largura das colunas para ajustar aos dados ............................................................... 64 Formatar os números .......................................................................................................... 65 Definir a regra de acumulação ............................................................................................ 65 Incluir um mini-gráfico ........................................................................................................ 65 Incluir um sinalizador tipo semáforo. ................................................................................. 66 Gráfico tipo Tabela Dinâmica .............................................................................................. 68 Incluir subtotais ................................................................................................................... 68 Incluir uma dimensão pivotada ........................................................................................... 69
O objeto Seleções Atuais ............................................................................................................. 70 O objeto Botão ............................................................................................................................ 71 O objeto Calendário/Deslizador .................................................................................................. 72 O objeto Pesquisa........................................................................................................................ 73 Voltando ao Script ....................................................................................................................... 74
Leitura de arquivos texto e planilhas ...................................................................................... 74 Arquivos QVD .......................................................................................................................... 76
Avaliação de Desempenho de Aplicações ................................................................................... 78 Arquitetura do QlikView.......................................................................................................... 78 Consumo de memória de objetos ........................................................................................... 78 Carga otimizada de QVD´s ....................................................................................................... 80 Avaliação de nuvem de dados ................................................................................................. 82
Set Analysis .................................................................................................................................. 87 Controle de acesso às aplicações ................................................................................................ 89 Carga de Planilhas Excel .............................................................................................................. 98 Glossário .................................................................................................................................... 100
QlikView ................................................................................................................................ 100 QlikView Server ..................................................................................................................... 100 QVD ....................................................................................................................................... 100 SK ........................................................................................................................................... 100 Experiência do Usuário.......................................................................................................... 100 AccessPoint ........................................................................................................................... 100
Lista de Figuras .......................................................................................................................... 101
Treinamento Básico em QlikView | Introdução 1
Introdução
O que é QlikView?
QlikView é uma plataforma de Business Inteligence desenvolvida pela QlikTech
(NASDAQ:QLIK) que combina interatividade e análise de informações em tempo real. Ela pode ser
utilizada desde como uma ferramenta de relatórios em formato de tabela até a criação de
gráficos elaborados e painéis de controle (dashboards) complexos com dados advindos de uma
enormidade e variedade de origens.
Foi a primeira plataforma a utilizar o conceito “in-memory” onde todos os dados são
carregados em memória de onde resulta sua altíssima velocidade na recuperação das
informações, trazendo embutida uma poderosa tecnologia conhecida com o AQL (Associative
Query Language)
Figura 1 - Como o QlikView Funciona
Segundo a própria documentação do QlikView em português:
“QlikView é um software que permite a todos os tipos de usuários, de iniciantes a
especialistas, recuperar e assimilar facilmente dados de qualquer fonte: bases de dados, como
SQL Server ou Oracle, assim como arquivos do Excel, XML ou de texto. Aplicativos corporativos,
como o SAP, também podem ser usados como fontedos dados para uma análise do QlikView.
Depois de carregados no programa, os dados são apresentados em uma interface
intuitiva e fácil de usar. Para fazer seleções no QlikView, não são necessários conhecimentos
prévios das bases de dados ou das rotinas de pesquisa: basta clicar no item sobre o qual você
deseja saber mais, e o programa imediatamente filtra os dados e apresenta todos os itens
associados. As opções de pesquisa extensiva - direta e indireta permitem localizar qualquer
informação e fornecer respostas instantâneas àssuas perguntas.
O QlikView oferece uma grande variedade de gráficos, diagramas e tabelas em
diversosformatos para apresentar os dados da maneira que você desejar. Diferentes visões,
Treinamento Básico em QlikView | Introdução 2
zoom, agrupamentos ou animações criam uma compreensão mais profunda e fornecem uma
visão geral ainda melhor. A criação da interface é muito fácil e não requer ajuda do
departamento de TI. Todos os gráficos ou tabelas podem ser impressos ou exportados para
outros programas para processamento adicional.
O QlikView para desktop pode ser usado gratuitamente, como uma Personal Edition.
Com o QlikView Personal Edition, você pode usar integralmente as funções do QlikView, mas
não é possível abrir documentos criados por outros usuários. Para isso, você precisa de uma
licença do QlikView.
A suíte de produtos QlikView também inclui o QlikView Server e o QlikView Publisher,
que podem ser usados para o gerenciamento centralizado de aplicativos QlikView, para
atualizações automatizadas e para a distribuição de documentos a vários usuários. Diferentes
clientes podem acessar os documentos publicados em um QlikView Server, incluindo Internet
Explorer Plug-in, AJAX Zero Footprint e váriosclientes móveis, como IPhone, IPad, Android e
dispositivos RIM.”
Treinamento Básico em QlikView | Instalação do QlikView Personal Edition 3
Instalação do QlikView Personal Edition Nos nossos exemplos deste livro iremos utilizar uma versão gratuita do QlikView Developer,
denominada QlikView Personal Edition. Esta versão pode ser livremente baixada (basta
registrar-se) no site da QlikView (http://www.qlikview.com/us/explore/experience/free-
download).
Veremos agora o passo-a-passo para instalar
o QlikView Personal Edition.
1. Primeiramente localize onde você
salvou o arquivo executável que
baixou do site da QlikView. Lembre-se
que o QlikView é fornecido em
versões de 32 bits (x86) e de 64 bits
(x64), escolha a versão de acordo com
seu sistema operacional Windows.
2. Provavelmente seu sistema operacional irá pedir uma confirmação
3. Escolha agora qual linguagem você utilizará durante a instalação do QlikView.
Recomendo utilizar o português, pois todos os exemplos serão mostrados nesta língua.
4. Aguarde a configuração do instalador
Treinamento Básico em QlikView | Instalação do QlikView Personal Edition 4
5. Leia e aceite o contrato de licença
6. Insira suas informações
7. Informe em qual pasta deseja instalar o QlikView Personal
Treinamento Básico em QlikView | Instalação do QlikView Personal Edition 5
8. Selecione o tipo: “Completa”
9. Clique em “Instalar”
10. Aguarde até a instalação finalizar
Treinamento Básico em QlikView | Instalação do QlikView Personal Edition 6
Esta versão que você terminou de instalar é totalmente funcional e sem limitações de tempo
de uso. No entanto aplicam-se as regras abaixo:
1. Não estarão disponíveis funcionalidades próprias do QlikView Server (recarga
automática, acesso via navegador Web, etc) .
2. As aplicações que você desenvolver podem ser publicadas normalmente em um
QlikView Server.
3. Você só poderá abrir até quatro aplicações feitas por outros usuários. Caso você tente
abrir uma aplicação feita por outro usuário verá uma tela semelhante a esta a seguir
(varia conforme a língua que você fez a instalação). Essa é a principal limitação do
QlikView Personal Edition.
Figura 2 - Abrindo uma aplicação licenciada em um QlikView Personal
Treinamento Básico em QlikView | Conhecendo o QlikView 7
Conhecendo o QlikView
Executando o QlikView
Localize o QlikView no menu “Iniciar” do seu Windows e execute-o.
A primeira tela que verá será igual a abaixo:
Figura 3 - Tela Inicial do QlikView
Para quem está familiarizado com as ferramentas do pacote Office verá que a maioria dos
botões habituais (“Novo”, ”Abrir”, ”Salvar”) está na barra superior da ferramenta.
Vamos agora abrir uma aplicação para termos o primeiro contato com o QlikView.
Na Seção “Conheça o QlikView”, role a tela até localizar “Base de Dados de Filmes” e clique
para abrir.
Treinamento Básico em QlikView | Conhecendo o QlikView 8
Vamos trabalhar com cores?
Em QlikView um conceito importante ao utilizar uma aplicação é a cor de uma lista. Por
convenção, elementos de lista marcados com verde fosforescente (essa cor pode ser
modificada, veremos isso mais tarde) são os itens selecionados por você. Itens marcados em
branco são os itens possíveis ou correspondentes à sua seleção e os itens marcados em branco
são os itens que não relacionam-se com sua seleção.
Figura 4 - Associação de cores
Para ver isso em ação, clique no botão “Get Started”. Uma nova tela será aberta e você poderá
notar que existem 2 listas bem no centro da tela: “Fruits” e “Colors” (Frutas e Cores). Clique na
palavra “Apple” (Maçã). Você verá que duas cores do lado esquerdo estão marcadas em
branco e uma em cinza. Isso indica que existem maçãs “Green” e “Red” (verdes e vermelhas),
mas não existem maçãs amarelas.
Treinamento Básico em QlikView | Conhecendo o QlikView 9
Figura 5 - Maçãs: verdes ou vermelhas
Utilize o botão “Limpar” na barra de ferramentas para remover sua seleção.
Exercício: Tente descobrir que frutas são verdes.
Apesar de ser um exercício bem simples, é importante para você fixar o conceito
“verde/branco/cinza” que estará presente durante toda sua experiência futura com QlikView.
Relembrando: em verde ficam marcadas as seleções que você fez explicitamente, em branco
são exibidos os dados relacionados àquela sua seleção e em cinza os dados não relacionados.
Outra coisa que você pode ter notado é que ao contrário da maioria das ferramentas de
relatório, imediatamente ao clicar na lista “Fruits” os dados já foram selecionados na lista
“Colors” para ajustarem-se à sua seleção. Você não precisou clicar em um terceiro botão
“atualizar dados”. Talvez tenha vindo daí a ideia para o nome do QlikView => “Click and View”.
Acesse agora a aba “QlikView Model” e faremos alguns exercícios mais interessantes:
Quais filmes tiveram Quentin Tarantino como diretor? Com quais diretores o ator John Travolta trabalhou?
Agora você deve estar começando a habituar-se ao poder da AQL permitindo que
partindo de qualquer informação você descubra que outras informações estão
relacionadas. Você não é obrigado a navegar na ordem pré-estabelecida pelo
programador que desenvolveu a aplicação.
Treinamento Básico em QlikView | Conhecendo o QlikView 10
Figura 6 - Abordagem OLAP x Associativa
Navegue agora para a aba “Dashboard” e veja alguns dos exemplos de gráficos que você
poderá construir utilizando o QlikView.
Figura 7 - Exemplo de Dashboard
Observe que praticamente tudo no “dashboard” é selecionável. Tente descobrir agora quais são os filmes que têm menos que uma hora de duração lançados no ano de 2003.
Treinamento Básico em QlikView | Conhecendo o QlikView 11
Figura 8 - Filmes com duração < 1 hora feitos em 2003
Clique com o botão esquerdo sobre uma das listas. Você verá uma tela semelhante à seguir
Faça uso das opções do 3º bloco, visualizando o efeito de “Selecionar Valores Possíveis”, “Selecionar Tudo”, “Limpar”, “Travar” (para travar, pelos menos um valor deve estar selecionado).
Treinamento Básico em QlikView | Sua primeira aplicação 12
Sua primeira aplicação
Escolhendo uma base de dados
Para construirmos juntos sua primeira aplicação QlikView precisaremos de uma base de dados.
Utilizaremos inicialmente uma base Access de demonstração comumente conhecida como
NorthWind. Ela é facilmente encontrada utilizando-se o Google para pesquisa ou pode ir até o
site www.clever.com.br/downloads onde encontrará uma cópia da mesma para que você
possa baixar. Naquele site ela está com o nome “Nwind.mdb”, basta fazer o download e salvar
em uma pasta na sua máquina.
Criando a aplicação
Para criar uma aplicação em QlikView clique no ícone “Novo” que é o primeiro na sua barra de
ferramentas
Iremos já salvar nossa aplicação em uma pasta no seu computador para evitarmos
contratempos. Clique no botão “Salvar”. Você notará uma mensagem semelhante à seguinte
informando que é a sua primeira aplicação QlikView e que todas as aplicações que você
desenvolver estarão marcadas como sendo desenvolvidas por você.
Figura 9 - Sua primeira aplicação
Treinamento Básico em QlikView | Sua primeira aplicação 13
O Script
Uma aplicação QlikView precisa conter um script que irá carregar os dados necessários para a
aplicação. A cada vez que os dados forem alterados pode ser necessário que esse script seja
executado novamente para que os dados sejam recarregados, esse processo normalmente é
denominado de “reload” ou “recarga” dos dados.
Para acessar o script de uma aplicação, basta clicar no ícone “Editar Script” na sua barra de
ferramentas ou então utilizar a tecla de atalho Ctrl-E.
Não se assuste com alguns códigos que verá inicialmente. São apenas formatações de campos
e outros parâmetros padrão de uma aplicação QlikView.
Figura 10 - Editor de Script
Para conectar-se à base NorthWind clique no botão “Conectar” que está logo abaixo na sua
tela, escolha o tipo “MS Access Database” e clique em “OK”
Na tela abaixo, procure pelo arquivo que você baixou no site
Treinamento Básico em QlikView | Sua primeira aplicação 14
Quando você clicar em “OK” verá que o QlikView automaticamente gerou uma linha de script
semelhante a esta:
ODBC CONNECT32 TO [MS Access Database;DBQ=[Caminho]\Nwind.mdb]; Agora que já ensinamos ao QlikView como se conectar ao banco de dados, vamos agora extrair
os dados. Utilize para isso o botão “Selecionar”. Na tela que surgirá, procure pela tabela
“Customers” (Clientes em inglês) e procure deixar sua tela o mais próximo possível da tela
seguinte, clicando em seguida em “OK”.
O QlikView gerará um código semelhante a teste. Não se preocupe por enquanto com a
sintaxe.
Treinamento Básico em QlikView | Sua primeira aplicação 15
Carregando os dados
Vamos agora testar se está tudo certo carregando os dados. Para tal clique
no botão “Recarregar” e observe que uma tela semelhante a abaixo
indicando que foi carregada uma tabela com 91 registros.
Figura 11 - Status da carga da 1a aplicação
Sua primeira nuvem de dados
Quando os dados estão carregados em uma aplicação QlikView eles são chamados de “nuvem
de dados”. Para você poder ter uma visão de quais tabelas foram carregadas e obter algumas
informações sobre eles pressione a tecla de atalho Ctrl-T ou localize o ícone “Visualizador de
tabelas” no seu QlikView. Você verá uma tela semelhante a seguir indicando que você
possui apenas uma tabela contendo 91 registros.
Treinamento Básico em QlikView | Sua primeira aplicação 16
Repita agora o procedimento na mesma aplicação carregando agora a tabela “Orders” e obtendo a nuvem semelhante a abaixo. . Entre no Editor de Script (Ctrl-E) . Posicione o cursor na última linha . Utilize o botão “Selecionar” . Encontre a tabela “Orders” e clique em “OK” . Recarregue sua aplicação
Você notou que foi criada uma ligação entre as duas tabelas? Sempre que o QlikView
encontra duas ou mais tabelas com campos que tenham o mesmo nome ele irá criar
uma chave ligando as duas tabelas. É o comportamento normal (e desejável) do
Qlikview não nos obrigando a definir a priori quais campos servem de ligação entre
tabelas.
Treinamento Básico em QlikView | Sua primeira aplicação 17
Construindo seu primeiro gráfico
Agora que possuímos dados carregados podemos iniciar a construção de gráficos.
Começaremos com um gráfico de pizza, formato bastante conhecido da maioria das pessoas.
Ele irá mostrar a quantidade de pedidos (“Orders”) para cada país (“Country”).
Para iniciarmos clique com o botão direito do seu mouse sobre a aplicação, no menu que
aparecerá selecione Novo Objeto de Pasta / Gráfico
Figura 12 - Como inserir um gráfico em uma aplicação
Aparecerá o assistente que nos guiará para a criação do nosso gráfico. Não se preocupe com
tantas opções por enquanto, selecione apenas o tipo “pizza” e clique em “Avançar”
Figura 13 - Assistente de criação de gráfico
Treinamento Básico em QlikView | Sua primeira aplicação 18
Na tela seguinte iremos selecionar a dimensão do nosso gráfico. Esse termo em QlikView é
extremamente comum. Vejamos o que o Manual de Referência do QlikView tem a dizer sobre
o que são dimensões.
Dimensões de gráficos
Uma dimensão de gráfico é o conjunto de valores sobre os quais o gráfico irá iterar quando
calcular os valores de sua(s) expressão(ões). No caso mais simples, seria possível afirmar que
ela é o que aparece no eixo x em um gráfico de barras padrão.
Um gráfico pode ter uma ou mais dimensões. O limite superior depende do tipo do gráfico, da
complexidade dos dados e da quantidade de memória disponível. Os gráficos de pizza, de linhas
e de dispersão podem apresentar, no máximo, duas dimensões, mas os gráficos de barras e de
grade podem apresentar três dimensões. Os gráficos de radar podem apresentar apenas uma
dimensão e os gráficos de mostrador, nenhuma.
Como queremos visualizar os pedidos por país, é justamente o campo “Country” que iremos
utilizar. Selecione o campo na lista da esquerda e pressione “Incluir” e depois novamente em
“Avançar”.
Você irá agora informar qual a expressão de cálculo. Uma expressão em QlikView nada mais é que uma fórmula que traduz matematicamente qual informação queremos ver no nosso gráfico. Para o nosso caso, queremos saber quantos pedidos, certo? Então iremos utilizar a fórmula Count(OrderID)que traduz o que queremos visualizar em nosso gráfico.
Você pode por hora, clicar em “Concluir” para que possamos visualizar nosso primeiro gráfico.
Treinamento Básico em QlikView | Sua primeira aplicação 19
Vamos agora formatar para obtermos algo mais apresentável. Primeiramente vamos ordenar
em ordem decrescente para que os países que tiverem maior quantidade de pedidos fiquem
agrupados. Todas as configurações de gráficos são acessíveis através do menu “Propriedades”
acessado pelo botão direito do mouse. A
opção de ordenação fica disponível na aba
“Ordenação”. Marcando-se a opção “Valor-Y
Descendente” teremos o que precisamos.
Coloque agora os valores aparecendo na
legenda, marcando esta opção na aba
“Apresentação”.
Altere agora o título do gráfico na aba “Geral” na opção logo abaixo do checkbox “Mostrar
Título no Gráfico”. Normalmente o QlikView colocaria no título do gráfico a 1ª expressão do
gráfico.
Treinamento Básico em QlikView | Sua primeira aplicação 20
Inserindo filtros
Vamos agora incluir alguns filtros para permitir aos usuários da nossa aplicação interagir com a
mesma.
Para incluir um filtro (ou lista) utilize o botão direito do mouse sobre a aplicação (fora do
gráfico de pizza). Quando aparecer o menu de contexto, clique em “Selecionar Campos”.
Selecione por enquanto apenas o campo “Order Date”.
Ao clicar em OK, verá agora uma tela semelhante a essa:
Treinamento Básico em QlikView | Sua primeira aplicação 21
Note que a data exibida mostra também a hora. Para formatar essa informação clique com o
botão direito sobre a lista selecionando “Propriedades” e utilize a aba “Número”. Marque
conforme abaixo para termos o resultado esperado.
Treinamento Básico em QlikView | Sua primeira aplicação 22
Parabéns, você acaba de construir sua primeira aplicação QlikView. Observe o comportamento
da aplicação e compare com aquela aplicação de demonstração. Observe na sua aplicação o
comportamento do “Verde/branco/cinza”
Em uma lista de datas além de clicar para selecionar, você pode inserir uma expressão
de pesquisa. Clique na pequena lupa e digite, por exemplo, “>01/01/1995” e veja que
todas as datas maiores que 1º de Janeiro de 1995 ficarão selecionados.
Adicionando informações à nossa aplicação
Até agora nossa aplicação baseou-se nas informações exatamente como estavam no banco de
dados. Por exemplo, temos a data de um pedido, mas não temos como selecionar facilmente
os pedidos feitos em Mar/1994. Isso poderia ser feito por uma faixa de datas, como vimos na
última dica, mas não é muito amigável para nossos usuários.
Voltaremos agora ao nosso script para podermos criar alguns campos que facilitem nosso
trabalho. Pressione Ctrl-E para visualizarmos o script. Procure agora pelo código abaixo.
Vamos alterar um pouco esse script inserindo o mês e o ano do pedido. Utilizaremos para isso
duas funções do QlikView.
Treinamento Básico em QlikView | Sua primeira aplicação 23
Veja o que o Help (tecla F1) do QlikView nos diz sobre essas duas funções.
Nomes de funções em QlikView não diferenciam maiúsculas de minúsculas, ou seja:
Year = YEAR = year.
Nomes de campos, no entanto, fazem essa diferenciação:
OrderDate ≠ ORDERDATE ≠ orderdate
Após alterar seu script, execute-o novamente para que os dados sejam recarregados. Utilize a
tecla Ctrl-R para recarregar.
Inclua os novos campos na sua aplicação como listas. Se tiver dúvidas de como fazer, volte à
seção “Inserindo Filtros”. Vejamos agora como nossa aplicação ficou:
No próximo capítulo iremos formatar nossos objetos para termos uma visualização mais
profissional.
Treinamento Básico em QlikView | Formatando a aplicação 24
Formatando a aplicação Nesse capítulo iremos aprender como formatar nossa aplicação para que ela se torne mais
apresentável com um “look and feel” profissional.
A QlikView provê um conjunto de imagens e botões para facilitar nossa vida. Esse pacote tem
o nome de “Developer Toolkit”, pode ser baixado na comunidade do QlikView
(community.qlikview.com) e será utilizado nos nossos exemplos.
Você pode utilizar outro pacote de imagens se quiser. A Internet é uma fonte quase
inesgotável de boas imagens e ícones que possam ser utilizados para formatação.
Adicionando uma imagem de fundo
A maneira mais usual para colocarmos uma imagem de fundo em uma aplicação é através das
propriedades do documento. Estas opções ficam na barra de tarefas conforme imagem a
seguir. Não se importe por enquanto com a enorme quantidade de configurações que existem
em um documento QlikView, vamos utilizar por enquanto somente a aba “Geral”.
Figura 14 - Propriedades do Documento
Figura 15 - Propriedades do Documento - Aba Geral
Treinamento Básico em QlikView | Formatando a aplicação 25
Observe na parte inferior da aba que podemos ajustar como é a imagem de fundo de uma
aplicação.
Selecione a opção: ”Imagem do Papel de Parede” e depois em “Alterar” escolhendo uma
imagem que servirá de fundo para nossa aplicação. É importante deixar marcado a opção
“Horizontal” como “esquerda” e a “Vertical” como “superior”
Veja como ficou nossa aplicação neste momento, depois que reposicionarmos as listas e o
gráfico.
Treinamento Básico em QlikView | Formatando a aplicação 26
Vamos agora aplicar um tema que é um conjunto de propriedades de formatação (cores,
fontes, etc) que podem ser aplicados a todos os objetos de uma aplicação. Um tema é aplicado
na aba “Layout” das propriedades do documento pelo botão “Aplicar Tema”
Para o exemplo abaixo utilizamos o tema “Leaf”
Treinamento Básico em QlikView | Formatando a aplicação 27
Veja como ficou o resultado final:
Nos capítulos seguintes vamos detalhar mais cada um dos tipos de objetos, permitindo
formatações e configurações
Treinamento Básico em QlikView | Dimensões e Fatos 28
Dimensões e Fatos Em ambientes de BI e em um contexto mais amplo ambientes de Data Warehouse
(http://pt.wikipedia.org/wiki/Data_warehouse) usualmente trabalha-se com uma modelagem
de dados chamada de Dimensional em oposição ao modelo de Entidade-Relacionamento. Esta
modelagem foi proposta por Ralh Kimball em seu manifesto
(http://www.kimballgroup.com/1997/08/02/a-dimensional-modeling-manifesto/).
Na modelagem dimensional existem usualmente dois tipos de tabelas: as tabelas Dimensão e
as Tabelas Fato.
Fato: tabelas que armazenam as “medidas” ocorridas no tempo que usualmente são valores
numéricos que podem ser somados, agrupados e segmentados. Existem vários exemplos
clássicos tais como tabelas de pedidos ou notas fiscais, ligações telefônicas, solicitações de
seguro, etc.
Dimensão: São tabelas que armazenam informações descritivas sobre os fatos ocorridos.
No modelo seguinte, “Orders” é a nossa tabela fato e “Customers” a nossa tabela dimensão.
Tipos de esquemas lógicos
As tabelas em uma modelagem para BI podem ser agrupadas em dois esquemas ou
tipos.
“Star Schema” ou em estrela
Neste esquema existem uma ou mais tabelas fato ligadas a várias tabelas dimensões. A
ligação entre as tabelas é sempre de um nível de profundidade
Treinamento Básico em QlikView | Dimensões e Fatos 29
Figura 16 - Star Schema
“Snow-Flake” ou em floco de neve
A ligação entre as tabelas neste esquema é que pode existir uma hierarquia entre as
tabelas fato ou entre as tabelas dimensão. Note na tabela abaixo que existe uma outra
dimensão “Country” (Pais) que é ligada a uma dimensão “Customer” e somente esta é ligada à
tabela fato
Figura 17 - Snow-Flake Schema
Conceitualmente ambas são aceitáveis em QlikView, mas usualmente os esquemas em estrela
tem melhor desempenho que em floco de neve.
Benefícios de uma modelagem dimensional
Uma abordagem dimensional em aplicações QlikView traz alguns benefícios principais:
• Velocidade de consulta
• Clareza – é fácil para uma pessoa entender como os dados estão relacionados
• Extensibilidade – é simples a adição de novos dados às aplicações, normalmente novas
tabelas fato são agregadas e algumas novas dimensões e todas carregarão entre si as
novas relações.
Treinamento Básico em QlikView | O objeto Lista 30
O objeto Lista Um objeto lista serve para visualizar todos os valores e fazermos seleções em um campo da
nossa “nuvem de dados”. É o objeto mais comum e usual. Pessoalmente, não me recordo de
nenhuma aplicação QlikView com dados que não possuísse pelo menos um objeto tipo “lista”.
Como esta apostila não se propõe a substituir o manual do produto recomendo uma leitura
atenta seção do “Objeto Lista” da parte 5 do seu Manual de Referência
Favor fazer alguns ajustes em nossa lista “AnoPedido” . A primeira coisa que faremos é tornar
nossa lista multicoluna, para que possamos deixar nossa lista no sentido horizontal. Para tal,
utilize a aba “Apresentação” dentro das propriedades da lista. Desmarque a opção “Coluna
Única”. Clique em “OK” e logo após redimensione a lista para que esta ocupe apenas uma
linha.
O título da lista é configurado na aba “Geral” das propriedades
Treinamento Básico em QlikView | O objeto Lista 31
Repita o procedimento na lista MesAnoPedido até obter o resultado a seguir
Outro recurso interessante é configurar a visualização padrão da lista para imitar as caixas de
seleção do Windows ou então colocar pequenos “leds” ao lado das opções selecionadas. Essa
configuração está na aba “Apresentação” das propriedades do objeto.
Podem-se habilitar também botões padrão de lista, permitindo “Selecionar Todos”,
“Selecionar Excluídos”, “Selecionar Possíveis”. Essas opções estão localizadas na seção “Ícones
Especiais” dentro da aba “Título”.
Outra opção bastante usual no QlikView é exibir mais alguma informação ao lado da seleção. A
informação mais comum a ser exibida é quantas vezes aquela informação se repete. Essa
informação é chamada de frequência em QlikView. Para exibi-la acesse a janela de
propriedades, na aba “Geral” e marque a opção “Mostrar Frequência”. No exemplo a seguir,
estamos mostrando a frequência do campo “OrderDate” onde podemos ver quantos pedidos
foram emitidos em cada data
Treinamento Básico em QlikView | O objeto Lista 32
Figura 18- Frequência dos valores de uma lista
Podemos exibir alguma outra informação em uma lista, para isto utiliza-se a aba “Expressões”
das propriedades da lista. Vamos adicionar o dia da semana ao lado da data. Clique no botão
incluir e adicione a seguinte expressão
Você verá que agora o dia da semana irá aparecer ao lado da data na lista
Treinamento Básico em QlikView | O objeto Texto 33
O objeto Texto Outro objeto simples, mas poderoso, do QlikView é o objeto texto. Ele é utilizado para
adicionarmos textos, valores e imagens à nossa aplicação. Novamente, peço que leia
atentamente seu manual de referência na seção “Objeto Texto” para visualizar todas as
opções de um objeto deste tipo.
Utilizaremos um objeto tipo texto para incluirmos um título na parte superior da nossa
aplicação. Para adicionar um objeto deste tipo, como usual, clique com o botão direito do seu
mouse na sua aplicação, selecione a opção “Novo Objeto de Pasta” e em seguida Objeto de
Texto. Você verá uma tela igual à seguinte, que é dividida entre “Primeiro Plano” e “Fundo”.
Na caixa “Texto”, incluiremos o texto a ser exibido, e em transparência, deixaremos com 100%
para que a caixa de texto fique transparente. Quando você clicar em OK, a caixa de texto será
exibida. Arraste e redimensione para que fique logo acima do gráfico de pizza.
Na aba “Fonte” das propriedades da caixa de texto, ajuste para Tahoma, negrito, para que a caixa de texto fique conforme exemplo seguinte.
Treinamento Básico em QlikView | O objeto Texto 34
Uma caixa de texto também pode conter uma fórmula ou expressão, basta que o primeiro
caractere do texto seja “=”. Neste caso o texto deve estar delimitado por aspas simples. Inclua
as fórmulas e expressões que precisar para montar o texto. Cada fórmula ou texto para ser
concatenado ao seguinte deve conter um “&”. Façamos o exemplo seguinte incluindo uma
nova caixa de texto contendo a frase “Data da última atualização“ mais a data/hora que a
aplicação foi recarregada.
Treinamento Básico em QlikView | O objeto Caixa de Estatísticas 35
O objeto Caixa de Estatísticas Uma caixa de estatísticas é uma maneira compacta de exibir várias informações sobre um
campo da nossa nuvem de dados.
Para inserir uma caixa de estatísticas clique com o botão esquerdo do mouse sobre a sua
aplicação e selecione a opção “Novo objeto de pasta” e a seguir em “Caixa de Estatísticas”.
Você verá uma tela semelhante a seguinte, deixe marcado conforme o exemplo:
Figura 19 - Caixa de Estatísticas
Acesse também a aba “Número” e configure os campos “Média”,”Mínimo” e “Máximo” para
serem exibidos como datas.
Esse será o resultado final da sua caixa de estatísticas:
Treinamento Básico em QlikView | O objeto Seleção Múltipla 36
O objeto Seleção Múltipla Em algumas situações poderíamos querer que nossas listas sejam exibidas de uma maneira
mais compacta na tela, ocupando menos espaço.
Compare na imagem ao lado a diferença entre três listas na
tela ou apenas uma seleção múltipla
Para criar um objeto deste tipo clique com o botão esquerdo
do mouse sobre a sua aplicação e selecione a opção “Novo
objeto de pasta” e a seguir em “Caixa de Estatísticas”. A
seguir selecione os campos que devem fazer parte da seleção.
Figura 20 - Seleção Múltipla
Treinamento Básico em QlikView | O objeto Tabela 37
O objeto Tabela Este tipo de objeto é utilizado quando formos exibir os dados exatamente como estão na
nuvem de dados. Os dados podem vir de múltiplas tabelas (tabelas fato ou dimensão) e são
sempre relacionados. Cálculos ou subtotais não são possíveis, para tal é necessária a utilização
de um gráfico tipo “Tabela Simples” ou “Tabela Dinâmica”.
Vamos criar uma tabela com os dados dos clientes na nossa base e o nome do funcionário que
realizou pedidos para eles. Utilizaremos três colunas, sendo uma da tabela “Customers” e duas
da tabela “Employees”.
Para adicionar a tabela, clique com o botão
direito do mouse em sua aplicação e seguida na
opção “Novo Objeto de Pasta”, na lista que irá
aparecer selecione “Tabela”
Surgirá uma tela de configuração da tabela
semelhante à seguinte. Localize os campos
“CompanyName”, “FirstName” e “LastName” e
inclua na tabela mediante o uso do botão
“Incluir”. Ao clicar em “OK” sua tabela estará
criada.
Explore os recursos da tabela, fazendo um duplo
clique para trocar a ordenação e arrastar e soltar
para mudar a ordem das colunas.
Treinamento Básico em QlikView | O objeto Gráfico 38
O objeto Gráfico
Introdução
O QlikView agrupa neste tipo de objeto 13 tipos de gráficos diferentes. Esses gráficos
(incluindo 2 tipos de tabelas) permitem exibir números ou indicadores de uma maneira
compacta e atraente, dando maior visibilidade aos indicadores desejados. Cada um deles
possui uma grande quantidade de configurações e variações interessantes.
Figura 21 - Tipos de Gráficos disponíveis
Treinamento Básico em QlikView | O objeto Gráfico 39
Treinamento Básico em QlikView | O objeto Gráfico 40
Treinamento Básico em QlikView | O objeto Gráfico 41
Opções comuns a todos os tipos de gráficos
Como algumas opções são idênticas para todos os tipos vamos descrever aqui as principais
opções:
Aba “Geral”
Figura 22 - Aba Geral de um gráfico
Título da Janela
Texto a ser exibido no cabeçalho da janela que contém o gráfico. Você
pode digitar aqui o texto que desejar ou ainda incluir uma expressão que
retorne um texto a ser exibido. Para editar essa expressão clique no ícone “...”
logo a direita.
ID do Objeto
Código alfanumérico que identifica cada um dos objetos de uma
aplicação QlikView.
Mostrar Título no Gráfico
Indica se deve ser exibido um título para o gráfico. Este título aparece
dentro da área do gráfico normalmente na parte superior do mesmo. Insira o
texto a ser exibido na caixa ou edite uma expressão. No botão “Configuração
do Título” você pode alterar tamanho ou formato da fonte, estilo, alinhamento
do texto e escolher sombreamentos.
Configuração de Impressão
Nessa opção você pode ajustar vários parâmetros que serão utilizados
caso o usuário utilize a opção “Imprimir” do objeto. Cabeçalhos, rodapés e
margens aqui podem ser definidos.
Treinamento Básico em QlikView | O objeto Gráfico 42
Desvinculado
Caso esta opção esteja marcada o gráfico não irá sofrer efeito de
nenhuma seleção feita nas listas da aplicação. Essa opção também está
disponível no menu de contexto (botão direito do mouse) e permite ao usuário
“congelar” um gráfico, fazer uma seleção, avaliar a diferença entre os valores e
voltar a vincular o gráfico.
Condição de cálculo
Aqui pode ser cadastrada uma expressão lógica (que retorne 0 para
falso ou diferente de 0 para verdadeiro) para indicar se o gráfico deve ser
calculado ou não. Isso pode ser útil em situações que seja necessário que o
usuário faça uma seleção antes que o gráfico possa ser calculado. Exemplo: Em
uma tabela que retorne milhões de linhas, pode-se forçar que o gráfico só seja
calculado se algum filtro seja aplicado.
Apenas leitura
Caso esta opção esteja marcada o irá ajustar-se aos filtros, mas não
servirá para fazer seleções.
Tipo de Gráfico
Aqui você pode alterar o tipo de um gráfico, por exemplo, de pizza
para barra ou outro qualquer.
Mudança Rápida
Caso você queira dar ao usuário a possibilidade de visualização rápida
entre os vários tipos de gráficos marque aqui quais são as visualizações
possíveis para seu gráfico. Neste caso, um pequeno ícone irá aparecer na
janela do gráfico para que o usuário ao clicar possa mudar a visualização.
Restaurar Tamanho / Restaurar Posição
Essas duas opções servem para descartar quaisquer modificações que
você tenha feito nas proporções dos elementos dentro de um gráfico. Essas
customizações são feitas quando você posiciona o mouse sobre o gráfico,
Treinamento Básico em QlikView | O objeto Gráfico 43
pressiona conjuntamente as teclas Ctrl+Shift e arrasta ou redimensiona os
componentes do gráfico. Note no exemplo a seguir que os elementos ficam
delimitados por uma pequena borda vermelha e foram ajustados (a legenda foi
movida para a parte de baixo). Ao clicar-se nos botões citados voltaríamos à
configuração padrão.
Mensagens de Erro
Aqui você pode alterar as mensagens padrão do QlikView para erros.
Os tipos mais comuns de erro são gráficos que não atendam à condição de
cálculo ou com excesso de alocação de memória.
Modo de Referência
Aqui você pode alterar como devem ser exibidas as linhas ou barras de
referência (só é ativo para alguns tipos de gráfico). Essas barras são exibidas
quando o usuário utiliza a opção do menu de contexto “Definir Referência”.
Posição do ícone preferida
Configure aqui onde devem ser exibidos os ícones (maximizar,
minimizar, imprimir, etc). A opção padrão é na barra superior do gráfico, mas
podem aparecer também dentro do gráfico.
Aba “Dimensões”
Dimensões em QlikView são os campos que serão utilizados como agrupadores dos dados de
cada tipo de gráfico.
Treinamento Básico em QlikView | O objeto Gráfico 44
Figura 23 - Aba Dimensões de um Gráfico
Campos/Grupos Disponíveis
Aqui, o QlikView irá listar todos os campos das tabelas da sua nuvem
de dados. Caso queira filtrar os campos de apenas uma tabela utilize o filtro
“Mostrar Campos da Tabela”. Utilize os botões “Incluir”/”Remover” para
configurar quais campos devem fazer parte das dimensões do seu gráfico. Os
botões “Promover”/”Rebaixar” servem para trocar a ordem dos campos da
dimensão.
Mostrar Campos do Sistema
Marque esta opção queira visualizar os campos padrão do QlikView.
Dimensões usadas
Aqui estão listadas as dimensões atuais do seu gráfico.
Configurações para a Dimensão Selecionada
Para cada dimensão você pode habilitar ou não as seguintes opções:
• Permitir condicional – cadastre aqui uma expressão lógica (que
retorne 0 ou 1, verdadeiro ou falso) que permitirá habilitar ou
desabilitar a dimensão
• Ocultar quando o valor for nulo – quando a dimensão não
possuir nenhum valor associado (nulo) esta dimensão não será
exibida. Se a opção estiver desmarcada um “-“ será exibido
para simbolizar o nulo.
Treinamento Básico em QlikView | O objeto Gráfico 45
• Mostrar todos os valores – deixe marcado para que todos os
valores da dimensão sejam exibidos, mesmo os que não
estiverem selecionados.
• Rótulo – utilize esta opção para mudar o rótulo da dimensão.
Editar Grupos
Crie aqui seus Grupos Hierárquicos ou Cíclicos. Teremos
posteriormente um capítulo dedicado a estes Grupos.
Treliça
Utilizaremos esta opção posteriormente no gráfico de pizza para
mostrarmos o que é esta opção em ação.
Aba “Número”
Figura 24 - Aba Número de um gráfico
Esta aba serve para que cada expressão possa ter seu formato numérico definido. Todas as
expressões são exibidas na lista à esquerda e para cada uma delas pode ter um formato
diferente.
Expressões
Selecione aqui a expressão a ser formatada.
Configuração do Formato Numérico
Treinamento Básico em QlikView | O objeto Gráfico 46
Configure aqui como devem ser exibidos os números.
Mostrar em porcentagem
Caso esteja marcado automaticamente o número será multiplicado por
100 e concatenado com o símbolo “%”.
Formato
Em “Visualizar” será exibida uma pré-visualização do número como
será exibido no gráfico.
Em “Padrão de formato” o QlikView irá exibir qual máscara será
aplicada para formatação do número.
Separadores
Altere aqui caso queira que os separadores decimais e de milhar sejam
diferentes do padrão.
Símbolos
Essa opção está habilitada apenas em alguns tipos de gráfico.
Configure aqui quais caracteres devem aparecer junto ao número.
Aba “Fonte”
Figura 25 - Aba Fonte de um gráfico
Aqui nesta aba você pode formatar a fonte padrão do gráfico, bem como cor da fonte,
tamanho e estilo.
Treinamento Básico em QlikView | O objeto Gráfico 47
Aba “Layout”
Figura 26- Aba Layout de um gráfico
Intensidade da Sombra / Largura da Borda
Utilize essas opções para ajustar se seu gráfico deve possuir uma
sombra e de que largura deve ser.
Camada
Essa opção serve para você alterar a ordem de profundidade de o seu
objeto, se este deve aparecer “na frente” ou por trás de outros objetos.
Mostrar
Marque “Sempre” caso seu gráfico precise sempre ser exibido. Caso
queira que seu gráfico apareça de acordo com uma condição preencha o
campo “Condicional” com uma expressão lógica (que retorne “0” para falso e
diferente de “0” para verdadeiro).
Opções
Permitir Mover/Ajustar – marque essa opção caso você queira que o
usuário possa mover seu gráfico de lugar.
Permitir Copiar/Clonar – marque essa opção caso você queira que o
usuário possa copiar seu objeto e colar em outro lugar da aplicação.
Permitir Informação – marque essa opção caso você queira que
informações associadas sejam exibidas. Veremos que tipos de informações são
essas em um capítulo posterior.
Treinamento Básico em QlikView | O objeto Gráfico 48
Ajustar o tamanho aos dados – se esta opção estiver marcada o gráfico
irá ajustar seu tamanho de acordo com os dados. Essa opção só tem sentido
quando o gráfico for do tipo tabela simples ou tabela dinâmica.
Gráfico tipo “Pizza”
Esse tipo de gráfico é um dos mais conhecidos entre as possíveis visualizações. É útil para
demonstrar como as diversas partes compõem um total. É o gráfico normalmente utilizado
para responder perguntas do tipo:
• “Qual a participação nos pedidos da Alemanha e Estados Unidos em relação ao total
de pedidos?”
• “Quais países representam 50% do total de pedidos?”
É representado por um círculo completo (que representa 100% do universo analisado) e cada
uma das “fatias” tem uma largura proporcional à sua participação. Pela sua facilidade de
entendimento foi o escolhido para ser o nosso primeiro gráfico na nossa aplicação. Vamos
voltar a ela agora e verificarmos quais opções o QlikView provê para este tipo de dado
Dimensões em gráfico de pizza
Usualmente você só terá uma dimensão no seu gráfico de pizza. É até possível existirem duas
dimensões, no entanto a visualização fica um pouco confusa. A seguir temos um exemplo com
duas dimensões.
Treinamento Básico em QlikView | O objeto Gráfico 49
Figura 27 - Gráfico de pizza com duas dimensões
Construindo seu gráfico de pizza
O primeiro passo é analisar a pergunta que será respondida pelo seu gráfico. No nosso
exemplo imagine que a pergunta seja “Quantos clientes temos em cada país”? A pergunta já
traz em si tanto a definição da dimensão (Pais) e a expressão (Contagem de clientes).
Relembrando:
• Expressões são os nossos indicadores calculados em nossos gráficos. Usualmente são
somas, contagens ou médias de valores das nossas tabelas fato.
• Dimensões são os valores para os quais os as expressões serão calculadas. Usualmente
corresponde a um campo de uma das nossas tabelas dimensão.
Siga o procedimento abaixo:
1. Em nossa aplicação, posicione o mouse sobre o título da pasta “Principal”.
2. Clique com o botão direito e use a opção “Copiar Pasta”. O QlikView irá duplicar a
pasta com todos os objetos. O QlikView irá chamar esta pasta de “Cópia de Principal”.
3. Posicione o mouse sobre clique em “Propriedades da Pasta”.
4. Edite o nome da pasta para “Gráfico de Pizza”.
5. Clique com o botão direito sobre o gráfico e use a opção “Excluir”.
6. Clique com o botão direito sobre a área livre e utilize a opção “Novo Objeto de Pasta”
e em seguir “Gráfico”.
Treinamento Básico em QlikView | O objeto Gráfico 50
7. Surgirá uma tela semelhante à seguinte. Escolha tipo de gráfico de pizza e dê um nome
ao seu gráfico e depois clique em “Avançar”
8. Na aba “Dimensões”, selecione o campo “Country”, clique em “Incluir” e dê um rótulo
“País” a essa dimensão. Clique em “Avançar”
9. Chegou a hora de definirmos nossa expressão. Como queremos contar quantos
clientes, basta selecionar “Contagem Total” como função de agregação e escolhermos
o campo “CustomerName” entre os campos disponíveis e depois clique em “OK”
Treinamento Básico em QlikView | O objeto Gráfico 51
10. O assistente irá exibir a tela de “Expressões” com a nossa expressão que acabamos de
incluir em destaque. Clique apenas em “Concluir” e veja se a tela que será exibida será
semelhante a esta. Note que ao passar o mouse sobre um segmento do gráfico este
fica destacado e o valor da expressão ficará em destaque.
Incrementando seu gráfico de pizza
Gráficos de Pizza usualmente são ordenados do maior para o menor para facilitar o
entendimento
1. Para ordenar seu gráfico de pizza de maneira decrescente, acesse as propriedades do
gráfico (Botão direito) e vá até a aba “Classificar”, dentre as várias opções um delas é
“Valor-Y” que justamente o que precisamos. Deixe-a marcada e clique aplicar e veja o
que acontece.
Gráficos de Pizza usualmente representam percentuais do todo então faz todo sentido
serem exibidos como tal
2. Para exibir como percentuais do todo, vá até a aba “Expressões” e deixe marcado
“Relativo” e também “Valores sobre os dados” clicando em seguida em “Aplicar”.
Aproveite também para dar um nome mais amigável a sua expressão utilizando o
campo “Rótulo” preenchendo com “Clientes”.
Treinamento Básico em QlikView | O objeto Gráfico 52
Por padrão o nome de um gráfico é igual ao rótulo da primeira expressão a não ser
que o campo “Nome do Gráfico” na aba “Geral” esteja preenchido.
Veja se seu gráfico está com essa aparência
Vá até a aba “Estilo” do seu gráfico e veja a variedade de estilos que seu gráfico de pizza pode assumir. Familiarize-se com todas elas e veja quais mais lhe agradam
“HOW-TO” - Solicitações comuns em gráficos de pizza
Listaremos agora algumas solicitações comuns em gráficos de pizza e como realizá-las em
QlikView mostrando a seguir como fica a apresentação final
a) “Quero visualizar os valores percentuais ao lado das fatias das pizzas e as quantidades
absolutas na legenda”
1) Inclua uma segunda expressão idêntica à primeira. Na aba “Expressões”, posicione
o mouse sobre a expressão e com o botão direito utilize o recurso “Copiar” e
depois clique na área branca logo abaixe e com o botão direito utilize o recurso
“Colar”.
2) Na primeira expressão desmarque as opções “Relativo” e “Valores sobre os dados.
3) Na segunda expressão marque as opções “Relativo” e “Valores sobre os dados.
4) Vá até a aba “Apresentação” e marque a opção “Mostrar números na legenda”
Treinamento Básico em QlikView | O objeto Gráfico 53
b) “Quero visualizar destacados apenas os países que participam mais de 3%. Agrupe os
demais em apenas uma fatia”.
1) Vá até a aba “Limite de Dimensão” e marque “Restringir valores exibidos usando a
primeira expressão”
2) Selecione a opção “Mostrar somente valores que são”. Inclua 3% (ou o valor
pedido) como parâmetro.
3) Marque a opção “Mostrar Outros”
c) “Quero poder exportar a imagem do gráfico para o PowerPoint (ou outro editor)”
1) Esse recurso é comum a todos os gráficos. Basta ir até a aba “Título”, procurar pelo
bloco “ícones especiais” e deixar marcado “Copiar imagem para a área de
transferência”. Outro ícone irá aparecer na barra de título do gráfico permitindo a
ação de copiar a imagem para a área de transferência.
Treinamento Básico em QlikView | O objeto Gráfico 54
Gráfico tipo “Barra”, “Linha” e “Combinado”
Trataremos conjuntamente esses três tipos de gráficos pela sua similaridade de opções
e aplicações. Esses tipos de gráfico são muito úteis para visualizarmos lado a lado como algum
indicador se comporta através das variações de valores nas dimensões.
Alguns casos clássicos:
• Quantos pedidos foram feitos ao longo do ano de XXXX?
• Qual a participação mês a mês de cada país na quantidade de pedidos?
• Como foi a evolução do faturamento bruto e da margem percentual deste ano
em relação ao ano passado?
Dimensões em gráfico de barra/linha
Neste tipo de gráfico você pode ter, normalmente, até duas dimensões. A primeira delas será
seu “eixo-x” e a segunda (opcional) irá aparecer para cada valor da primeira dimensão. No
exemplo seguinte, utilizamos a quantidade de pedidos como expressão e “MesAno” e
“Country” como dimensões em um gráfico de barra. Note que para cada mês (1ª dimensão) os
países (2ª dimensão) se repetem
Construindo seu gráfico de barras/linhas
Novamente o nosso primeiro passo é analisar a pergunta que será respondida pelo seu
gráfico. No nosso exemplo imagine que a pergunta seja “Quantos pedidos foram emitidos a
cada ano e para que país?”.
Iremos criar no exemplo um gráfico de barras, o procedimento é bem semelhante ao
gráfico de linhas.
Repita os procedimentos descritos na seção do gráfico de pizza para criar uma nova pasta
e em seguida:
Treinamento Básico em QlikView | O objeto Gráfico 55
1. Clique com o botão direito
sobre a área livre e utilize a
opção “Novo Objeto de
Pasta” e em seguir
“Gráfico”.
2. Surgirá uma tela semelhante à seguinte.
Escolha tipo de gráfico de barras e dê
um nome ao seu gráfico e depois clique
em “Avançar”
3. Na aba “Dimensões”, selecione o campo
“AnoPedido”, clique em “Incluir”, em
seguida selecione “Country”, clique em
“Incluir” e dê um rótulo “País” a essa
dimensão. Clique em “Avançar”
4. Nossa expressão será a contagem de
pedidos, por isso configuramos a
expressão conforme a imagem seguinte:
Treinamento Básico em QlikView | O objeto Gráfico 56
5. Clique em “OK” e depois em “Avançar”
6. A próxima tela serve para configurar a ordenação de cada um dos campos. Marque
ambos com “Valor Numérico” e clique em “Avançar”
7. Na próxima tela marque a opção “Empilhado” e entre as “Aparências” utilize a 3ª para
dar uma visão 3D ao seu gráfico. Em seguida clique em concluir
8. Pronto seu gráfico ficou
como a imagem ao lado
Figura 28- Gráfico de Barras
Treinamento Básico em QlikView | O objeto Gráfico 57
Incrementando seu gráfico de barras
Gráficos de Barra usualmente possuem uma ordenação decrescente na 2ª dimensão
Para ordenar seu gráfico de barra de maneira decrescente, acesse as propriedades do gráfico (Botão direito) e vá até a aba “Classificar”. Utilize a mesma expressão do seu gráfico Count(OrderID) e use-a no campo “Expressão” da segunda dimensão.
Combinando Linhas e Barras
Iremos agora criar um gráfico que apresente duas expressões sendo uma de barras e outra de
linhas. Ele servirá para responder à pergunta “Quantos pedidos e quantos clientes distintos
tivemos durante os anos de 1994, 1995 e 1996?”. Para tal utilizaremos uma dimensão
“AnoPedido” e duas expressões de cálculo.
1. Clique com o botão direito
sobre a área livre e utilize a
opção “Novo Objeto de
Pasta” e em seguir
“Gráfico”.
2. Selecione o tipo “Combinado”, terceiro da
esquerda para a direita e clique em “Avançar”
3. Selecione a dimensão “AnoPedido” e clique
novamente em “Avançar”
Treinamento Básico em QlikView | O objeto Gráfico 58
4. Inclua a expressão Count(OrderID)como você já está habituado e clique em “OK” .Agora clique em “Incluir” para adicionar a segunda expressão Count(DISTINCT CustomerID). No bloco “Mostrar Opções” deixe a primeira marcada como “Barra” e a segunda como “Linha”. Aproveite para renomear a primeira expressão como “Pedidos” e a segunda como “Clientes”. Clique em “Concluir” e observe o resultado final
Você notou que existe um 4º valor “-“ com valores zerados? O QlikView evidencia com um
valor “-“ (nulo) . No exemplo específico existem clientes que não tiveram nenhum pedido ao
longo do tempo. Para descartar esses valores que não nos interessam vamos utilizar um
recurso associado à dimensão. Abra as propriedades do gráfico, na aba “Dimensões” e marque
a opção “Ocultar quando o valor for nulo”. Esta opção irá desaparecer com os valores de
clientes sem pedidos.
Treinamento Básico em QlikView | O objeto Gráfico 59
“HOW-TO” - Solicitações comuns em gráficos de barra
a) “Inclua uma linha com a média de pedidos ao longo dos anos”
1) Vá até a aba “Apresentação” e localize a
seção “Linhas de Referência”
2) Clique em “Incluir”
3) Utilize a expressão seguinte
Avg(Aggr(Count(OrderID),AnoPedido))
4) Aumente a espessura da linha em “Peso”
b) “Mude a legenda para a
parte inferior do gráfico”
1) Mantenha pressionadas simultaneamente as teclas Ctrl e Shift. O QlikView irá
destacar com uma fina linha vermelha a área do gráfico e a área da legenda.
2) Clique e mantenha pressionado
o botão esquerdo do mouse
sobre a área da legenda
arrastando a legenda até a
parte inferior do gráfico.
Esse “truque” serve para qualquer
tipo de gráfico (barra, pizza, etc)
Treinamento Básico em QlikView | O objeto Gráfico 60
Treinamento Básico em QlikView | O objeto Gráfico 61
Gráfico tipo “Tabela Simples” e “Tabela Dinâmica”
Esse tipo de gráfico é muito utilizado para mostrarmos de maneira tabular uma série de
expressões. É bastante semelhante, em estrutura, aos gráficos apresentados até agora sem, no
entanto exibir os dados em uma forma gráfica.
Na aplicação “Data Visualization” que acompanha o QlikView existem várias tabelas na aba
“Tables”, onde você pode ver a diferença entre uma tabela, um gráfico tabela simples e um
gráfico tabela dinâmica.
Figura 29 - Três tipos de tabelas
Criaremos duas tabelas, uma simples outra dinâmica para você se familiarizar com esses
objetos.
Gráfico tipo Tabela Simples
Para exemplificar este tipo de gráfico iremos fazer uma tabela com a quantidade de pedidos
por cliente.
Da mesma forma que você
adicionou outros objetos à sua
aplicação “Botão Direito”/
“Novo Objeto de Pasta” /
“Gráfico” iremos acionar o
construtor de gráficos e
marcaremos o tipo “Tabela
Simples” que é o último à
esquerda e depois clique em
“Avançar”
Treinamento Básico em QlikView | O objeto Gráfico 62
Selecione agora o campo “Customer Name” que será nossa dimensão e clique em “Avançar”
Nossa expressão, por enquanto, será a expressão Count(OrderID) e clique em “Concluir”.
Treinamento Básico em QlikView | O objeto Gráfico 63
Figura 30 - Tabela Simples
Iremos agora explorar alguns recursos da tabela simples
Ordenações
A tabela simples é auto-ordenável, bastando clicar em cada um dos cabeçalhos do
gráfico, dando ao usuário a flexibilidade que ele quiser para visualizar os dados.
Formatações de Estilo
Use a aba “Estilo” das propriedades do gráfico e veja a variedade de estilos já prontos
que podem ser aplicados à sua tabela. Nela você também poderá colocar uma imagem de
fundo ou uma cor padrão de fundo.
Efeitos Visuais
Nesta aba das propriedades do gráfico você poderá configurar sinalizadores de cores
para indicar alguma regra que você queira destacar. Para os familiarizados com o Excel, simula
o recurso de formatação condicional.
No nosso caso iremos destacar em azul os clientes que tiveram mais que 10 pedidos e
colocaremos a fonte em negrito.
Treinamento Básico em QlikView | O objeto Gráfico 64
Adicionando outra expressão de texto
Para adicionar mais uma expressão utilize a aba “Expressões” nas propriedades do gráfico. Utilize o botão “Incluir” e adicione, por exemplo, a data do último pedido. A expressão para esse cálculo é max(OrderDate).
Nomeando as colunas
Para dar um nome à coluna utilize o campo “Rótulo” para cada uma das expressões para
colocar um nome mais intuitivo para a informação ali exibida
Auto largura das colunas para ajustar aos dados
Essa opção está disponível no botão direito do mouse
Treinamento Básico em QlikView | O objeto Gráfico 65
Formatar os números
Para formatar cada uma das colunas, você pode utilizar a aba “Número” conforme já descrito
anteriormente neste mesmo capítulo.
Definir a regra de acumulação
Caso você queira definir uma regra diferente do padrão para a linha de totais, essa opção está
disponível na aba “Expressões”, nas propriedades do gráfico. No exemplo iremos tirar o total
da expressão “Data do Último Pedido” marcando a opção “Sem Totais”.
Incluir um mini-gráfico
O QlikView permite a inclusão de uma expressão que será exibida como um mini-gráfico
dentro da tabela simples. Esse recurso tem um impacto muito interessante junto aos usuários
pois permite uma visualização, por exemplo da quantidade total de pedidos (expressão de
texo), bem como um evolução.
No nosso caso vamos criar um exemplo simples, acessando as propriedades do gráfico na aba
“Expressões”.
Treinamento Básico em QlikView | O objeto Gráfico 66
Inclua uma expressão novamente com a expressão Count(OrderID). Observe que existe uma
caixa de seleção chamada “Representação” e selecione “Minigráfico”. Logo após clique em
“Configurações do Minigráfico”.
Aparecerá uma tela conforme a seguinte que serve para configurar
como o mini gráfico será exibido. A principal configuração será a
dimensão que será o “eixo-x” do nosso grafico. No nosso exemplo
utilizaremos o campo “MesAnoPedido”. Na caixa de seleção
selecione o tipo “Sparkline” para que o gráfico seja de linhas.
Incluir um sinalizador tipo semáforo.
O QlikView permite também que incluamos um “semáforo” sinalizando
“verde/amarelo/vermelho” para alguma regra.
Como exemplo, iremos marcar com verde os
clientes que foram que são atendidos em média
antes de 5 dias, amarelo entre 5 e 10 e vermelho
os atendidos com mais de 10 dias.
Inclua uma expressão que calcula a média entre os o tempo de despacho “ShipDate” e o pedido “OrderDate”. Essa expressão é avg(ShippedDate - OrderDate). Logo após marque no campo “Mostrar opções” como Mostrador de Semáforo e clique em “Configurações do Mostrador”.
Treinamento Básico em QlikView | O objeto Gráfico 67
Precisaremos definir três segmentos para cada uma das regras (verde/amarelo/vermelho). O QlikView já vem com dois segmentos. Clique em “Incluir” para adicionar outro segmento.
O próximo passo é desmarcar o checkbok “Largura Automático dos Segmentos” pois iremos colocar os parâmetros. A seguir inclua “0” como valor mínimo e “100” como valor máximo que nossa expressão pode atingir (mesmo que nunca tenhamos esse limite atingido). Agora para cada segmento, escolha o limite inferior daquela faixa e a cor correspondente. A cor é escolhida ao clicar-se no próprio botão colorido. Ficaria assim: Segmento 1 – Limite inferior = 0 e cor verde Segmento 2 – Limite inferior = 5 e cor amarela Segmento 3 – Limite inferior = 10 e cor vermelha
Veja agora como ficou nossa tabela
Caso queira que apenas uma cor seja exibida, volte à configuração e marque a opção “Luz Única” dentro da caixa de seleção “Modo”.
Treinamento Básico em QlikView | O objeto Gráfico 68
Gráfico tipo Tabela Dinâmica
Um gráfico tipo tabela dinâmica possui o recurso de calcular subtotais quando a tabela possuir
mais de uma dimensão além de permitir a “pivotagem” que é transformar uma dimensão em
colunas.
Vamos criar uma tabela dinâmica com duas dimensões “Country” e “CustomerName” e uma
expressão Count(OrderID).
Assim que finalizar a construção você verá uma tabela semelhante a esta. Ela já possui alguns
recursos tais como expandir (clicar no botão “+”) e mudar a ordem de agrupamento (Arrastar e
soltar o título da coluna).
Incluir subtotais
Para cada coluna que você desejar que seja calculado o subtotal vá até a aba “Apresentação”,
selecione a dimensão e marque o checkbox “Mostrar Subtotais”.
Treinamento Básico em QlikView | O objeto Gráfico 69
Incluir uma dimensão pivotada
Adicione a dimensão “AnoPedido” à sua tabela para mostrarmos como transformar uma
dimensão em uma coluna.
Sua tabela irá ficar igual à próxima imagem
Clique e mantenha o mouse pressionado sobre um valor de ano (1994, por exemplo) e arraste
em direção ao cabeçalho da tabela até que uma pequena seta azul apareça. Solte o botão do
mouse e sua tabela ficará igual a esta.
Treinamento Básico em QlikView | O objeto Seleções Atuais 70
O objeto Seleções Atuais O QlikView possui um botão em sua barra de
ferramentas para visualizar todos os campos que
sofreram uma seleção. Este botão é chamado “Seleções
Atuais” ao ser clicado ele exibe em um pequeno quadro
todos os campos que estão selecionados, bem como
quais valores foram escolhidos . No entanto, em
algumas situações você pode querer evidenciar na
própria aplicação deixando mais visível ao usuário
impedindo que ele perca-se entre tantas seleções que
ele pode ter feito.
Para adicionar um objeto deste tipo à sua aplicação.
Clique na sua aplicação com o botão direito e utilize a
opção “Novo objeto de pasta”/”Seleções Atuais”. Ao fazer isso irá aparecer a tela para a
configuração deste objeto. Faça testes com este objeto e utilize os que achar mais adequados.
Treinamento Básico em QlikView | O objeto Botão 71
O objeto Botão O Qlikview também disponibiliza um objeto para automatizar certas ações tais como:
• Limpar todas as seleções ativas
• Maximizar/Minimizar um gráfico
• Imprimir uma tabela
• Recarregar a aplicação
Iremos fazer um exemplo bem simples de um botão que irá recarregar os dados da aplicação e
limpar todos os filtros. Para tal, clique na sua aplicação com o botão direito e utilize a opção
“Novo objeto de pasta”/”Botão”. Ao fazer isso irá aparecer a tela para a configuração deste
objeto. Insira um texto que será visível no seu botão.
Agora vamos configurar as ações que o botão executará ao ser pressionado. Essas ações são
configuradas na aba “Ações”, nesta aba clicando-se no botão “Incluir” você poderá adicionar
quantas ações forem necessárias e desejadas. As ações são separadas por grupos de acordo
com a funcionalidade. Adicionaremos então nossas ações desejadas
Treinamento Básico em QlikView | O objeto Calendário/Deslizador 72
O objeto Calendário/Deslizador Outro útil objeto do QlikView é o Calendário que permite a fácil seleção de datas em uma
aplicação. Para adicionar um objeto como este à sua aplicação, utilize o botão direito do
mouse sobre a aplicação selecione a opção “Novo objeto de pasta”/”Deslizador/Calendário”.
Na tela de configuração selecione o campo “OrderDate” para poder utilizar este calendário
como um objeto para selecionar os valores deste campo.
Treinamento Básico em QlikView | O objeto Pesquisa 73
O objeto Pesquisa Com o advento do Google no início dos anos 2.000 quase todas as pessoas tornaram-se
familiarizadas com uma pequena caixa onde você digita o que quer saber e o computador sabe
onde encontrar essa informação.
No QlikView existe um objeto que faz uma pesquisa em vários campos sua aplicação ao
mesmo tempo facilitando a seleção em campos tipo “Nome de Cliente”, “Fornecedor”, etc
Adicione um objeto deste tipo com a opção “Novo objeto de pasta”/”Pesquise” e configure
quais campos devem ser pesquisados clicando em seguida em OK
Note que de acordo vai sendo feita a digitação o QlikView já irá restringindo os dados que mais
se assemelham ao padrão digitado. Ao visualizar o que quer encontrar, clique com o mouse e
selecione os que realmente pretendia utilizar
Treinamento Básico em QlikView | Voltando ao Script 74
Voltando ao Script
Leitura de arquivos texto e planilhas
Em nossa simples aplicação até agora nos conectamos diretamente ao banco de dados e
realizamos a carga dos dados. Em outras situações iremos também extrair dados de arquivos
texto, planilhas Excel ou até mesmo de sites na internet. O QlikView trata essas origens de
dados com a mesma facilidade que fizemos para bancos de dados. Estes dados após a
execução do script são todos armazenados na memória do computador e são relacionados
normalmente com as demais informações.
Em nossa aplicação, suponhamos que uma parte dos dados dos empregados estivesse apenas
em uma planilha Excel. Prepare uma planilha Excel com os dados abaixo e salve no seu
computador.
Iremos agora carregar esses dados dentro do QlikView. Para
isso precisamos editar o script pressionando as teclas Ctrl-E ou
clicando-se no botão “Editar Script”.
Treinamento Básico em QlikView | Voltando ao Script 75
Vá até o final do seu script, posicionando na última linha do mesmo. Procure pelo botão
“Arquivos de Tabela” dê um clique e localize sua planilha. Automaticamente o QlikView irá
acionar um assistente para ajuda-lo a ler a planilha de dados
Na primeira tela, marque a opção “Rótulos Incluídos” para que o QlikView entenda os
cabeçalhos das colunas no Excel. Você pode clicar já em “Terminar” para o nosso exemplo, as
demais telas serão descritas em outro curso. Ao terminar o QlikView terá gerado um script de
leitura para a sua planilha
Tudo o que temos que fazer agora e um pequeno ajuste para que o QlikView entenda que o
campo CodEmpregado deve ser ligado ao campo EmployeeID da nossa nuvem de dados. Este
Treinamento Básico em QlikView | Voltando ao Script 76
ajuste é apenas renomear a coluna, pois a AQL por padrão entende que colunas com o mesmo
nome em tabelas diferentes devem ser ligadas. Edite seu script para que o QlikView possa
fazer essa correlação e aproveite para dar um nome à nova tabela.
Pronto! Agora basta recarregar a sua aplicação pressionando simultaneamente os botões Ctrl e
“R” e os dados serão lidos para uma nova nuvem de dados. Estas novas colunas podem ser
utilizadas normalmente em qualquer objeto que você já aprendeu até agora.
Arquivos QVD
A plataforma QlikView está muito relacionada a arquivos .qvd que são os arquivos de dados
que podem (não sendo obrigatórios) ser utilizados em uma aplicação. Segundo a definição
dada pelo manual do produto:
“Um arquivo QVD (Dados do QlikView) é um arquivo que contém uma tabela de dados
exportada do QlikView. QVD é um formato QlikView nativo e pode ser gravado e lido apenas
pelo QlikView. O formato de arquivo é otimizado para agilização na leitura de dados de um
Treinamento Básico em QlikView | Voltando ao Script 77
script do QlikView e, ao mesmo tempo é compacto. A leitura de dados de um arquivo QVD é
geralmente de 10 a 100 vezes mais rápida do que a leitura de outras fontes de dados.”.
Em um ambiente corporativo é quase mandatório utilizarmos esse tipo de dados por várias
razões:
• Aumentar a velocidade de recarga de uma aplicação
• Diminuir a carga sobre os servidores de banco de dados
• Consolidação de dados de várias origens
• Geração de cargas incrementais (busca-se no banco de dados apenas os registros do
dia anterior e os demais já estariam salvos em QVD´s)
Neste tipo de cenário é usual termos aplicações especializadas (usualmente chamadas de
“gera qvd" ou extratores) apenas em fazer as consultas nos bancos de dados e salvar os
arquivos QVD em disco. As aplicações de visualização fazem leitura dos arquivos e nunca
diretamente ao banco de dados.
Figura 31 - Arquitetura de extratores
Dados
Banco de dados
Planilha
Arquivos texto
Extratores
Gera QVD 1
Gera QVD 2
Arquivos em disco
arquivo1.qvd
arquivo2.qvd
arquivo3.qvd
arquivo4.qvd
Aplicações de
visualização
Aplicação 1
Aplicação 2
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 78
Avaliação de Desempenho de Aplicações
A avaliação de desempenho de aplicações em QlikView é uma área relativamente
extensa dentro do desenvolvimento de aplicações QlikView. Vários itens podem (e devem)
ser avaliados durante a fase de desenvolvimento que impactam positiva ou negativamente
no desempenho para o usuário final.
Arquitetura do QlikView
As decisões de desenvolvimento tomadas durante a fase de “Develop” impactam tanto
durante a fase de “Reload” quanto na fase final (Experiência do Usuário).
A meta principal do projetista / desenvolvedor deve ser sempre a melhor experiência
possível para o usuário, fazendo jus ao nome do produto “QlikView” -> “Click and View”
Consumo de memória de objetos
Um item que sempre vale a pena verificar em uma aplicação QlikView é o consumo de
memória e tempo de cálculo de objetos em cada uma das abas. Uma simples inspeção
pode evidenciar objetos que devem ser alvo de análise de pontos de melhoria.
Para inspecionar o consumo de memória de objetos, abra a aplicação “App01 -
Consumo de Memória.qvw” e acesse o menu “Configuração / Propriedades da Pasta”, abra
a aba “Objetos”. Você verá uma tela semelhante à abaixo:
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 79
Fica evidente que neste caso a tabela do lado esquerdo consome 50% a mais de
tempo e 10 vezes o consumo em memória dos demais gráficos. É normal uma tabela
comportar-se desta maneira. Ela possui uma natureza analítica ao contrário de gráficos
que são mais sintéticos.
Se for incluir tabelas em sua aplicação, avalie a real necessidade delas,
quantas colunas devem estar presentes, quais as fórmulas, etc.
Versões diferentes de um gráfico ou fórmulas
Abra a aba “Pasta1” e inspecione os gráficos:
Eles parecem ser idênticos, certo?
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 80
Avalie agora o desempenho dos mesmos pela imagem a seguir. Como pode
um gráfico levar quase o dobro do tempo para ser calculado? Abra as
propriedades de cada um deles e discuta com seu colega ao lado qual suas
hipóteses.
Resumo da seção:
• Sempre utilize a aba de Propriedades da Pasta, inspecione os itens de maior tempo de execução/consumo de memória, reavalie as fórmulas utilizadas.
• Não existe uma “silver bullet”, no entanto, normalmente fórmulas mais simples levam a resultados mais rápidos. Faça testes até chegar ao melhor resultado.
Carga otimizada de QVD´s
Essa seção consiste em avaliar as rotinas de carga verificando como podem ser mais
rápidas. Não tem impacto para a “Experiência de Usuário”, melhorando apenas a fase
de “Reload”.
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 81
Comentários:
• O QlikView consegue fazer uma leitura binária em blocos de arquivos QVD possibilitando a leitura de milhões de registros em segundos tempo muito inferior a leitura de arquivos texto ou planilhas.
• Recomenda-se que aplicações que irão acessar muitos registros (milhões ou bilhões de linhas) sejam divididas em aplicações que tratam os dados brutos (texto, planilhas, bancos de dados, etc) gerando os QVD´s e outras que irão consumir os mesmos. A ordem de ganho é grande, podendo chegar a reduções de tempo de até mesmo 10 vezes. Veja no exemplo abaixo a carga de arquivos texto do SINASC, resultando em 37 segundos e logo depois os mesmos dados já processados e lidos como um QVD em apenas 6 segundos.
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 82
• É altamente recomendável que a aplicação que gera o QVD já faça o tratamento dos dados e já os deixe preparados. Alguns exemplos de tratamento:
o Conversão de texto: maiúsculos/minúsculos, eliminação de espaços em branco repetidos.
o Padronização de datas: deixar pronto no QVD informações de Ano, Mês, Data, Semana, Trimestre
o Ajustes em campos que sejam chaves: exemplo: código do IBGE com 6 ou 7 posições.
o Cálculo de expressões frequentemente utilizadas: FlagMenor1Ano, FlagSeteMaisConsultas.
• Abra a aplicação “App02 - Carga QVD.qvw” e avalie o código e veja exemplos das recomendações acima.
• Durante a leitura do QVD evite ao máximo a aplicação de fórmulas. Se possível inclua na gravação do mesmo o cálculo destas expressões.
LOAD NascidosVivos.ChaveSaude as ChaveSaude, // OK - NÃO IMPACTA
trim(NascidosVivos.LocalNascimento) as
NascidosVivos.LocalNascimento, // Impede a carga otimizada
O exemplo acima aumentou o tempo de carga de 6s par 11s.
Resumo da seção:
• Faça o planejamento de todos os QVD´s que serão necessários, pensando de maneira geral e já deixe pronto todos os dados possíveis de serem calculados.
• Espaço em disco é muito barato, converta todas as bases de dados de texto e planilhas para QVD.
• Ao consumir os QVD´s evite usar expressões que possam impedir a carga otimizada.
Avaliação de nuvem de dados
Granularidade:
Procure encontrar na nuvem de dados tabelas que estejam em um nível de detalhe
maior que o que você irá precisar realmente na aplicação, trabalhe na carga com a
cláusula GROUP BY para armazenar apenas o nível necessário.
Tarefa: Abra a aplicação “App03 – Granularidade.qvw” e avalie as diferenças entre os
códigos.
Exemplo:
Micro dados da base nascidos vivos (SINASC) depois de carregados na nuvem
de dados:
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 83
Consolidando por Municipio/Ano/Sexo:
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 84
Chaves Sintéticas (SK´s)
Retirado do manual do QlikView:
“Quando duas ou mais tabelas de entrada tiverem dois ou mais campos em comum,
implicará um relacionamento de chave composta. O QlikView trata essa situação com
chaves sintéticas. Essas chaves são campos anônimos que representam todas as
combinações ocorridas da chave composta. Quando o número de chaves compostas
aumentar, dependendo da quantidade de dados, estrutura da tabela e outros fatores,
o QlikView pode ou não tratá-las com tolerância. O QlikView pode acabar usando uma
quantidade excessiva de tempo e/ou memória. Infelizmente, é praticamente impossível
prever as limitações reais, o que deixa apenas o método de tentativa e erro como uma
forma prática de determiná-las. Dessa forma, recomendamos que o designer do
aplicativo faça uma análise geral da estrutura pretendida da tabela.
Os truques típicos incluem:
• Formar suas próprias chaves não-compostas, normalmente usando a concatenação
de caracteres dentro de uma função de script AutoNumber.
• Certificar-se de que somente os campos necessários sejam conectados. Por exemplo,
se você usar uma data como chave, certifique-se de não carregar ano, mês ou
dia_do_mês de mais de uma tabela de entrada.”
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 85
Abra a aplicação “App04 – SK.qvw” para o exemplo abaixo:
Veja a seguir, um exemplo bem simples de uma SK
Após a remoção da mesma:
Resumo da seção:
• Trabalhe sempre para eliminar todas as SK´s da sua aplicação, elas são como ervas daninhas e podem comprometer todo o desempenho. Veja a seguir um exemplo que tornou-se um pesadelo de desempenho e tomou 80 horas para resolver apenas os gargalos de tempo de execução
Treinamento Básico em QlikView | Avaliação de Desempenho de Aplicações 86
Treinamento Básico em QlikView | Set Analysis 87
Set Analysis
Funções de agregação normalmente calculam sobre um conjunto de registros
possíveis, definidos pela seleção atual dos filtros. A fórmula abaixo irá contar todos os
nascimentos e respeitar os filtos ativos.
count(NascidosVivos.NumDN)
Mas um conjunto alternativo de registros pode ser definido através de uma expressão
de conjunto (set expression). A expressão abaixo irá contar todos os nascimentos de
2008 e vai continuar respeitando os demais filtros
count({<NascidosVivos.DatAnoNascimento={2008}>} NascidosVivos.NumDN)
Situações Típicas de uso:
1) Descartar uma seleção. Suponha que você queira que os dados de todos os anos em um gráfico sejam exibidos, mesmo que o usuário selecione um ano específico. Abra a aplicação “App05 - Set Analysis.qvw” e veja no container o primeiro exemplo. O Gráfico “Evolução de Nascidos Vivos” possui uma expressão normal que sofre o efeito de um filtro e uma outro expressão que descarta o filtro.
2) Comparar dimensões diferentes. Suponha que você queira visualizar como duas dimensões se inter-relacionam. Veja o 2º exemplo, que compara os nascidos do sexo masculino com os que tiveram mais que sete consultas.
3) Comparar períodos. Típica comparação entre o ano atual (ou o selecionado) e o ano anterior. Veja o gráfico “Comparativo Períodos” para visualizar como fazer.
4) Comparar parte x todo. Típica comparação entre uma parte e o todo (ou o selecionado) Veja o gráfico “Todo x Parte” para visualizar como fazer.
5) Comparar período atual x média últimos “n” períodos. Caso queira-se comparar o valor do período selecionado contra uma média de dois (ou mais) períodos.
Resumo da seção:
• Set Analysis é uma dos recursos mais poderosos do QlikView. No entanto, ela não resolverá todos os problemas de modelagem de dados malfeita e pode levar a expressões bastante complicadas (e lentas).
Treinamento Básico em QlikView | Set Analysis 88
Mais exemplos no pdf “QlikDev 2010 - Advanced Set Analysis.pdf” e no manual do
Qlikview
Treinamento Básico em QlikView | Controle de acesso às aplicações 89
Controle de acesso às aplicações Para controlarmos quem tem acesso a uma aplicação precisamos rever os conceitos
seguintes:
Acesso
Existem os seguintes cenários quando uma aplicação é publicada em um servidor
Qlikview:
a) Usuário sem acesso à aplicação: neste cenário o usuário sequer vê a aplicação no AccessPoint.
b) Usuário com acesso restrito a uma aplicação: neste cenário o usuário tem acesso à aplicação, mas algumas regras são aplicadas, tais como: redução de dados (visualiza somente um subconjunto dos dados) e visualização ou não de um objeto ou aba.
c) Usuário com acesso irrestrito a uma aplicação: neste cenário o usuário tem acesso ilimitado a todos os dados e objetos.
Treinamento Básico em QlikView | Controle de acesso às aplicações 90
A seleção de qual modo é feita a decisão sobre os acessos acima pode ser feita via uma
“Section Access”, descrita a seguir.
Section
Com o comando de script “section”, é possível definir se os comandos load e select
subseqüentes devem ser considerados como dados ou como uma definição dos
direitos de acesso.
A sintaxe é:
section ( access | application )
Exemplos:
Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD
ADMIN, SRVSWBBI\QLIKVIEW, qlikview@2#$#011
ADMIN, QLIKVIEW, qlikvqwerqeriew@2QWERQ011
USER, ABDALLA, 9999
];
Section Application;
São usuais 2 tipos de tabelas inline de acesso, uma baseada no login de rede e o outro
em usuário fixo da aplicação.
Section Access;
LOAD * INLINE [
ACCESS, NTNAME, NTDOMAINSID, CAMPO_REDUCAO
ADMIN, swbi\clever, , *
USER, swbi\fulano,, 001
];
Section Application;
Section Access;
LOAD * INLINE [
ACCESS, USERID, PASSWORD, CAMPO_REDUCAO
ADMIN, clever, 9090
];
Section Application;
Treinamento Básico em QlikView | Controle de acesso às aplicações 91
Todo controle de acesso deve ter obrigatoriamente a coluna ACCESS, que poderá ser
ADMIN ou USER e os nomes dos campos em caixa alta (ACCESS, NTNAME, etc...),
conforme exemplo acima, caso contrário a redução de dados não irá funcionar
corretamente.
Usuários como perfil ADMIN terão alguns privilégios quando estiverem logados no
cliente do Qlikview. Esses privilégios poderão ser alterados através do menu
“Configuração”, “Propriedades do documento” na guia “Segurança”. Todos usuário
logados através do AccessPoint terão perfil de USER, mesmo que no controle de
acesso ele seja ADMIN.
A coluna NTNAME é usada quando o controle de acesso será feito pelo mesmo
usuário logado no AccessPoint do Qlikview, conforme imagem a seguir:
Figura 32 - Usuário logado no AccessPoint.
Quando a coluna NTNAME for usada no controle de acesso de uma aplicação apenas
os usuários logados no AccessPoint autorizados a abrir a aplicação terão acesso a
mesma. Nesse caso o Qlikview sempre irá comparar os usuários encontrados no
“Section Access” na coluna NTNAME com o usuário logado no AccessPoint para
permitir o acesso a aplicação.
Alguns navegadores fazem a autenticação do usuário no AccessPoint de forma
automática, colocando o usuário de rede (domínio). Se o usuário do AccessPoint não
for o mesmo do usuário de rede e ele estiver autenticando automaticamente será
necessário alterar algumas propriedades do navegador para sempre solicitar usuário e
senha. No Internet Explorer essa opção fica em: “Configuração”, “Opção da Internet”,
guia “Segurança”, “Internet” ou “Intranet Local” dependendo de onde o servidor
Qlikview está, botão “Nível Personalizado” e no item “Autenticação de Usuário”
marcar a opção “Solicitar nome de usuário e senha”.
Outro forma muito usada para controle de acesso é através das colunas USERID e
PASSWORD combinadas. Dessa forma, toda vez que o usuário entrar no AccessPoint e
Treinamento Básico em QlikView | Controle de acesso às aplicações 92
clicar na aplicação será solicitado um usuário e senha, conforme imagens abaixo, que
serão comparados com os usuários e senhas dentro do “Section Access” da aplicação.
Figura 33 - Caixa de usuário da seção de acesso.
Figura 34 - Caixa de senha da seção de acesso.
Redução de Dados
O primeiro passo na construção do controle de acesso é identificar o usuário e
permitir ou não o acesso a aplicação, conforme mostrado anteriomente, mas ainda é
possível limitar o que poderá ser visto por esse usuário que tem acesso a aplicação,
esse procedimento é chamado de “Redução de dados”.
Para facilitar o entendimento imagine uma aplicação de uma determinada empresa
que possui dados de várias áreas, como financeiro, recursos humanos, operacional,
suporte, etc., e consequentemente, usuários de várias áreas usando a mesma
aplicação, mas cada um poderá ver somente seus dados, ou seja, se determinado
usuário e do grupo operacional ele não poderá ver os dados do financeiro por
exemplo.
Treinamento Básico em QlikView | Controle de acesso às aplicações 93
Para a redução dos dados funcionar dentro do Qlikview é necessário habilitar algumas
propriedades na configurações do documento, na guia “Abrindo” marcando as opções
“Redução Inicial de Dados baseada na Seção de Acesso”, “Exclusão Total” e “Carga
Binária Proibida”.
Como exemplo da redução de dados vamos usar as seguintes tabelas:
Figura 35 - Tabela de usuário do "Section Access".
Figura 36 - Tabela de colaboradores
Carregando as tabelas acimas normalmente no Qlikview teremos o seguinte cenário:
Script:
Acesso:
LOAD * INLINE [
ACCESS, USERID, PASSWORD, AREA, REDUCAO
ADMIN, Gestor1, 123, FINANCEIRO
Treinamento Básico em QlikView | Controle de acesso às aplicações 94
USER, Gestor2, 123, OPERACIONAL, OPE
USER, Gestor3, 123, RH, RH
USER, Gestor4, 123, SUPORTE, SUP
];
Colaboradores:
LOAD * INLINE [
REDUCAO, COLABORADOR, SALARIO
FIN, Colaborador1, 1000
FIN, Colaborador2, 1500
FIN, Colaborador3, 1700
RH, Colaborador4, 1850
RH, Colaborador5, 1000
SUP, Colaborador6, 800
SUP, Colaborador7, 900
OPE, Colaborador8, 750
OPE, Colaborador9, 680
OPE, Colaborador10, 920
OPE, Colaborador11, 780
OPE, Colaborador12, 800
OPE, Colaborador13, 850
OPE, Colaborador14, 720
OPE, Colaborador15, 730
];
Nuvem de Dados:
Como vamos usar a tabela de acesso para controle de acesso, ela deverá ser
carregada entre as palavras reservadas Section Access e Section Application, conforme
script e nuvem de dados abaixo:
Script:
Section Access;
Acesso:
LOAD * INLINE [
ACCESS, USERID, PASSWORD, AREA, REDUCAO
ADMIN, Gestor1, 123, FINANCEIRO
USER, Gestor2, 123, OPERACIONAL, OPE
USER, Gestor3, 123, RH, RH
USER, Gestor4, 123, SUPORTE, SUP
];
Section Application;
Colaboradores:
LOAD * INLINE [
REDUCAO, COLABORADOR, SALARIO
FIN, Colaborador1, 1000
FIN, Colaborador2, 1500
FIN, Colaborador3, 1700
RH, Colaborador4, 1850
RH, Colaborador5, 1000
SUP, Colaborador6, 800
SUP, Colaborador7, 900
OPE, Colaborador8, 750
Treinamento Básico em QlikView | Controle de acesso às aplicações 95
OPE, Colaborador9, 680
];
Nuvem de Dados:
Observe que no segundo caso, a tabela de acessos não aparece na nuvem de dados,
pois ela é usada internamente pelo Qlikview apenas para controlar os usuários que
terão ou não acesso a aplicação.
Outra observação importante está no fato de não existir mais de forma clara a chave
entre os campos REDUCAO das duas tabelas apesar que internamente o Qlikview
considera essa chave para fazer a redução dos dados.
Em um cenário de ligação entre duas tabelas comuns, quando fazemos um filtro em
um campo ele irá refletir nas outras tabelas. Na redução de dados funciona da mesma
forma, ou seja, mesmo que a tabela de acesso não seja apresentanda na nuvem de
dados do Qlikview ela está ligada internamente e, quando um usuário loga na
aplicação é como se o Qlikview estivesse fazendo um filtro limitando a ver apenas as
informações relacionadas a ele de acordo com o campo REDUCAO, que é a chave entre
as duas tabelas.
Dessa forma, quando o usuário “Gestor2” logar na aplicação so estará disponível para
ele as informações da tabela de colaboradores com o campo REDUCAO igual a OPE,
pois na tabela de acesso esse usuário so possui esse grupo.
Para fazer o teste de controle de acesso no Qlikview é necessário criar o controle de
acesso, recarregar a aplicação, fechar o cliente do Qlikview e abrir novamente pois se
fechar apenas a aplicação o Qlikview irá mander o usuário autenticado e sempre irá
efetuar login na aplicação com o mesmo usuário.
Após efetuar login com o usuário “Gestor2” o Qlikview apresenta apenas os dados
abaixo para esse usuário. Note que não existe nenhuma seleção feita pelo usuário e
ele nem saberá que existem outras áreas.
Treinamento Básico em QlikView | Controle de acesso às aplicações 96
Figura 37 - Dados apresentados para Gestor2
No exemplo abaixo, após fazer o login na mesma aplicação com o “Gestor1” todos os
dados são apresentados devido ao fato que na tabela de acessos não colocamos
nenhuma restrição na coluna REDUCAO para esse gestor, dessa forma o Qlikview
entende que esse usuário terá acesso a todos os dados carregados conforme imagem
abaixo:
Figura 38 - Login efetuado com o usuário Gestor1
Nos casos acima de redução de dados o Qlikview limita o usuário de acordo com o seu
perfil limitando os dados da nuvem para que nenhum objeto da aplicação (Gráficos,
tabela, filtros, etc...) apresente os dados que ele não tenha permissão para ver.
Treinamento Básico em QlikView | Controle de acesso às aplicações 97
Além de limitar os dados que o usuário tem permissão ainda podemos limitar os
objetos ou pastas que ele poderá ver dentro da aplicação. Para fazer esse controle
iremos usar uma função do sistema chamada QVUser() que sempre retorna o nome do
usuário que está logado na aplicação naquele momento.
Além da função acima usaremos a propriedade “Mostrar” marcada como
“Condicional” na guia Layout dos objetos.
Exemplo: Para mostrar um gráfico apenas para os usuários “Gestor1” e ”Gestor2” no
exemplo acima basta adicionar na expressão condicional a seguinte expressão
QVUser()=’GESTOR1’ OR QVUser()=’GESTOR2’ e esse objeto será visto apenas para
esses usuários, conforme imagens abaixo.
Figura 39 - Imagem da aplicação logada com o Gestor1
Figura 40 - Imagens da mesma aplicação logada com o Gestor3
Importante: Por padrão todos os dados carregados em uma tabela dentro do “Section
Access” serão transformados para caixa alta, por isso na expressão condicional para
mostrar ou não o gráfico foi usado GESTOR1 e GESTOR2 em caixa alta, mesmo. O
mesmo vale para a coluna chave REDUCAO.
Treinamento Básico em QlikView | Carga de Planilhas Excel 98
Carga de Planilhas Excel
Um dos cenários mais típicos em QlikView é a carga de planilhas em Excel.
No curso básico aprendemos como carregar uma planilha, abaixo temos um exemplo
de carga de xls e outro de xlsx.
LOAD [Cod. Servico],
Servico,
[Classe Servico],
[Sub Classe Servico],
[Especialidade Servico],
F6,
F7
FROM [F:\Unimed\SrvPrdUnimed\xls\Lista de Serviços.xls](biff, embedded labels, table is Serviços$);
LOAD CONTA,
NumeroTitulo
FROM [F:\Unimed\SrvPrdUnimed\xls\Titulos Sem Conta.xlsx](ooxml, embedded labels, table is Plan1);
Note que tanto quando estamos carregando uma planilha xls quanto estamos
carregando uma planilha xlsx existe uma cláusula “table is XXX” que identifica qual a
aba do Excel que deve ser utilizada.
Segue abaixo o “passo-a-passo” para extrair dados de planilhas com mais de uma aba,
desde que todas tenham a mesma estrutura
1º passo: “Conectar” com a planilha, utilizando o comando abaixo:
// Caminho da planilha a ser lida
Let vPlanilha = '..\xls\Carga SIM Multiplas abas.xlsx';
// "Conecta" com a planilha
ODBC CONNECT32 TO [Excel Files;DBQ=$(vPlanilha)];
2º passo: Obter os metadados:
tables:
SQLtables;
O comando acima cria uma tabela na memória semelhante a abaixo:
Treinamento Básico em QlikView | Carga de Planilhas Excel 99
3º passo: vamos agora “navegar” nas abas planilha e carregar os dados
Observação: criamos uma tabela no começo com zero linha e apenas uma coluna. É um recurso para
podermos usar o comando concatenate (que exige que exista uma tabela).
Treinamento Básico em QlikView | Glossário 100
Glossário
QlikView – Ferramenta de desenvolvimento e disponibilização de informações
consolidadas em formato gráfico ou de relatórios.
QlikView Server – Plataforma de distribuição e disponibilização de aplicações
QlikView
QVD – Formato de armazenamento intermediário de informações em um formato
proprietário, otimizado e em disco.
SK – Chave Sintética / Synthetic Key, chave automática criada pelo QlikView ao carregar-se
dados que tenham mais de um campo em comum entre várias tabelas.
Experiência do Usuário – Conjunto de características que descreve a impressão que o
usuário tem ao utilizar uma aplicação. Envolve principalmente tempo de resposta, boa
navegação e clareza nos gráficos.
AccessPoint – Tela de acesso às aplicações QlikView publicadas em um servidor.
Treinamento Básico em QlikView | Lista de Figuras 101
Lista de Figuras Figura 1 - Como o QlikView Funciona ........................................................................................... 1
Figura 2 - Abrindo uma aplicação licenciada em um QlikView Personal ...................................... 6
Figura 3 - Tela Inicial do QlikView ................................................................................................. 7
Figura 4 - Associação de cores ...................................................................................................... 8
Figura 5 - Maçãs: verdes ou vermelhas ......................................................................................... 9
Figura 6 - Abordagem OLAP x Associativa ................................................................................... 10
Figura 7 - Exemplo de Dashboard ............................................................................................... 10
Figura 8 - Filmes com duração < 1 hora feitos em 2003 ............................................................. 11
Figura 9 - Sua primeira aplicação ................................................................................................ 12
Figura 10 - Editor de Script .......................................................................................................... 13
Figura 11 - Status da carga da 1a aplicação ................................................................................ 15
Figura 12 - Como inserir um gráfico em uma aplicação .............................................................. 17
Figura 13 - Assistente de criação de gráfico ................................................................................ 17
Figura 14 - Propriedades do Documento .................................................................................... 24
Figura 15 - Propriedades do Documento - Aba Geral ................................................................. 24
Figura 16 - Star Schema ............................................................................................................... 29
Figura 17 - Snow-Flake Schema ................................................................................................... 29
Figura 18- Frequência dos valores de uma lista .......................................................................... 32
Figura 19 - Caixa de Estatísticas .................................................................................................. 35
Figura 20 - Seleção Múltipla ........................................................................................................ 36
Figura 21 - Tipos de Gráficos disponíveis .................................................................................... 38
Figura 22 - Aba Geral de um gráfico ............................................................................................ 41
Figura 23 - Aba Dimensões de um Gráfico .................................................................................. 44
Figura 24 - Aba Número de um gráfico ....................................................................................... 45
Figura 25 - Aba Fonte de um gráfico ........................................................................................... 46
Figura 26- Aba Layout de um gráfico .......................................................................................... 47
Figura 27 - Gráfico de pizza com duas dimensões ...................................................................... 49
Figura 28- Gráfico de Barras ........................................................................................................ 56
Figura 29 - Três tipos de tabelas ................................................................................................. 61
Figura 30 - Tabela Simples ........................................................................................................... 63
Figura 31 - Arquitetura de extratores ......................................................................................... 77
Figura 32 - Usuário logado no AccessPoint. ................................................................................ 91
Figura 33 - Caixa de usuário da seção de acesso. ....................................................................... 92
Figura 34 - Caixa de senha da seção de acesso. .......................................................................... 92
Figura 35 - Tabela de usuário do "Section Access". .................................................................... 93
Figura 36 - Tabela de colaboradores ........................................................................................... 93
Figura 37 - Dados apresentados para Gestor2 ............................................................................ 96
Figura 38 - Login efetuado com o usuário Gestor1 ..................................................................... 96
Figura 39 - Imagem da aplicação logada com o Gestor1 ............................................................ 97
Figura 40 - Imagens da mesma aplicação logada com o Gestor3 ............................................... 97
Recommended