Sei sulla pagina 1di 153

Carregando e modelando dados

Qlik Sense
2.0.2
Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.


Qlik, QlikTech, Qlik Sense, QlikView, Sense e o logotipo Qlik so marcas comerciais que foram
registradas em vrios pases ou de outra forma usadas como marcas comerciais pela QlikTech International
AB. Outras marcas registradas mencionadas neste documento so as marcas comerciais de seus
respectivos proprietrios.

Contedo
1 Sobre este documento

11

2 Adicionando e gerenciando dados com o Gerenciador de dados

12

2.1 Adicionando uma nova tabela de dados

12

2.2 Editando uma tabela de dados

12

2.3 Excluindo uma tabela de dados

13

2.4 Recarregando todos os dados

13

2.5 Tabelas concatenadas

13

2.6 Tabelas de chaves sintticas

14

2.7 Adicionando dados de arquivos e bancos de dados

14

Adicionando dados de uma fonte de dados existente


Adicionando dados de uma nova fonte de dados
Quais fontes de dados esto disponveis para mim?
Selecionando campos de dados de sua fonte de dados
Selecionando dados de um banco de dados
Selecionando dados de uma planilha do MicrosoftExcel
Selecionando dados de um arquivo de tabela
Retornando etapa anterior (Add data)
Escolhendo configuraes para tipos de arquivo
Arquivos de tabela delimitados
Arquivos de dados de registro fixo
Arquivos HTML
Arquivos XML
Arquivos QVD
Arquivos KML
2.8 Adicionando dados do Qlik DataMarket

14
15
15
16
16
17
17
18
18
18
19
20
20
20
20
20

Selecionando dados do Qlik DataMarket


Obtendo acesso ao Qlik DataMarket
Selecionando dados do Qlik DataMarket
Integrando o Qlik DataMarket com dados de outras fontes
Alterar nomes de campo
Editar o script de carga de dados
Retornando etapa anterior (Add data)
2.9 Gerenciando associaes entre tabela de dados

21
21
22
23
24
24
24
24

Visualizando recomendaes
Duas fontes de dados contm um campo com dados relacionados, mas com nomes

25

diferentes
Duas fontes de dados contm campos com o mesmo nome, mas dados no relacionados
Duas tabelas contm mais de um campo em comum
Carregando dados
Ignorando recomendaes
Retornando etapa anterior (Add data)
3 Carregando dados com o script de carga de dados

25
26
26
26
26
27
28

3.1 Usando o editor da carga de dados


Incio rpido

Carregando e modelando dados - Qlik Sense, 2.0.2

28
30

Contedo
Conectar s fontes de dados
Criando uma nova conexo de dados
Excluindo uma conexo de dados
Editando uma conexo de dados
Inserindo uma string de conexo
Selecionando dados de uma conexo de dados
Fazendo referncia a uma conexo de dados no script
Onde a conexo de dados armazenada?
Conexes de dados ODBC
Criando uma nova conexo de dados ODBC
Editando uma conexo de dados ODBC
Melhores prticas ao usar conexes de dados ODBC
Conexes de dados OLE DB
Criando uma nova conexo de dados OLE DB
Editando uma conexo de dados OLE DB
Aspectos de segurana ao conectar-se com conexes de dados OLE DB baseadas

30
30
31
31
32
32
32
33
33
33
34
34
34
34
35

em arquivos
Conexes de dados de pasta
Criando uma nova conexo de dados de pasta
Editando uma conexo de dados de pasta
Conexes de dados de arquivo da Web
Criar uma nova conexo de dados de arquivo da Web
Editando uma conexo de dados de arquivo da Web
Carregando dados de arquivos
Selecionando dados de uma conexo de dados
Carregando dados de um arquivo escrevendo um cdigo de script
Como preparar arquivos do Excel para o carga com o Qlik Sense
Carregando dados de bancos de dados
Carregando dados de um banco de dados ODBC
ODBC
OLE DB
Lgica nas bases de dados
Selecionar dados para carregar
Selecionando dados de um banco de dados
Selecionando o banco de dados
Selecionando tabelas e visualizaes
Selecionando campos
Renomeando campos
Visualizando o script
Incluindo o comando LOAD
Inserindo no script
Selecionando dados de um arquivo de tabela delimitado
Configurando as opes do arquivo
Selecionando campos
Renomeando campos
Visualizando o script

36
36
36
37
37
37
37
38
38
38
39
40
40
40
41
41
42
42
42
42
42
43
44
44
44
44
44
45
45
46

Carregando e modelando dados - Qlik Sense, 2.0.2

Contedo
Inserindo o script
Selecionando dados de um arquivo do Microsoft Excel
Selecionando tabelas
Selecionando campos
Renomeando campos
Visualizando o script
Inserindo o script
Selecionando dados de um arquivo de tabela de registro fixo
Configurando as opes do arquivo
Configurando as posies de interrupo de campo
Selecionando campos
Renomeando campos
Visualizando o script
Inserindo o script
Selecionando dados de um arquivo QVD ou QVX
Selecionando campos
Renomeando campos
Visualizando o script
Inserindo o script
Selecionando dados de um arquivo HTML
Selecionando tabelas
Selecionando campos
Renomeando campos
Visualizando o script
Inserindo o script
Selecionando dados de um arquivo XML
Selecionando tabelas e campos
Renomeando campos
Visualizando o script
Inserindo o script
Selecionando dados de um arquivo KML
Selecionando tabelas e campos
Renomeando campos
Visualizando o script
Inserindo o script
Editar o script de carga de dados
Organizando o cdigo de script
Criando uma nova seo de script
Excluindo uma seo de script
Renomeando uma seo de script
Reorganizando sees de script
Comentando no script
Comentando
Removendo o comentrio
Pesquisando no script de carregamento
Pesquisando

Carregando e modelando dados - Qlik Sense, 2.0.2

46
46
46
47
47
47
48
48
48
49
49
49
49
49
50
50
50
50
51
51
51
51
52
52
53
53
53
53
54
54
54
54
54
55
55
55
57
57
57
57
57
58
58
58
58
59

Contedo
Substituindo
Desbloqueando seo autogerada
Salvando o script de carregamento
Depurar o script de carga de dados
Barra de ferramentas da depurao
Sada
Variveis
Definindo uma varivel como favorita
Filtrando variveis
Pontos de interrupo
Adicionando um ponto de interrupo
Excluindo pontos de interrupo
Ativando e desativando pontos de interrupo
Executar o script para carregar os dados
Barras de ferramentas do editor da carga de dados
Barra de ferramentas principal
Barra de ferramentas do editor
3.2 Compreendendo os tipos de dados

59
59
60
60
61
61
61
62
62
62
62
62
63
63
63
63
64
64

Comandos de carregamento de dados


Regras
Execuo do script
Campos
Campos derivados
Declarar as definies de campo do calendrio
Mapear campos de dados para o calendrio com Derive
Usar os campos de data derivados em uma visualizao
Tags de campo
Tags de campo de sistema
Campos do sistema
Campos de sistema disponveis
Tabelas lgicas
Nomes de tabela
Rtulos da tabela
Associaes entre tabelas lgicas
Associao do Qlik Sense em comparao com a juno externa natural SQL
Informaes de frequncia em campos associados
Limitaes para associao de campos
Chaves sintticas
Tratamento de chaves sintticas
Tipos de dados no Qlik Sense
Representao de dados no Qlik Sense
Interpretao numrica
Dados com informaes de tipo
Dados sem informaes de tipo
Interpretao de data e hora
3.3 Diretrizes para dados e campos

64
65
65
65
65
66
66
66
66
67
67
68
68
69
70
70
71
71
71
72
73
73
73
73
74
74
75
77

Carregando e modelando dados - Qlik Sense, 2.0.2

Contedo
Diretrizes para a quantidade de dados carregados
Limites superiores para tabelas de dados e campos
Limite recomendado para sees de script de carga
Convenes para formatos de nmero e hora
Formatos numricos
Formatos numricos especiais
Datas
Horas
Data/hora
3.4 Entendendo as referncias circulares

77
77
77
77
77
78
79
80
81
81

Resolvendo referncias circulares


3.5 Renomeando campos

82
83

3.6 Concatenando tabelas

84

Concatenao automtica
Concatenao forada
Evitando a concatenao
3.7 Carregando dados de uma tabela carregada anteriormente

84
84
85
85

Resident ou LOAD precedente?


LOAD precedente
3.8 Expanses de sinal de dlar

86
86
87

Expanso de sinal de dlar usando uma varivel


Expanso de sinal de dlar usando parmetros
Expanso de sinal de dlar usando uma expresso
Incluso de arquivo
3.9 Usando aspas no script

88
89
89
89
90

Dentro dos comandos LOAD


Em comandos SELECT
Exemplos de aspas no Microsoft Access
Fora dos comandos LOAD
Referncias de campo e referncias de tabela fora de contexto
Diferena entre nomes e literais
Diferena entre nmeros e literais de string
Usando caracteres de cota nica em uma string
3.10 Caracteres curingas nos dados

90
90
90
90
91
91
91
91
92

O smbolo de asterisco
OtherSymbol
3.11 Tratamento do valor NULL

92
92
93

Associando/selecionando valores NULL do ODBC


Criando valores NULL de arquivos de texto
Propagao de valores NULL em expresses
Funes
Operadores aritmticos e de string
Operadores relacionais
4.1 Trabalhando com arquivos QVD

93
94
94
94
95
95
97

Objetivo dos arquivos QVD

Carregando e modelando dados - Qlik Sense, 2.0.2

97

Contedo
Aumentando a velocidade de carga
Diminuindo a carga nos servidores de base de dados
Consolidando dados de vrios aplicativos
Carga incremental
Criando arquivos QVD
Lendo os dados de arquivos QVD
4.2 Gerenciando a segurana com seo de acesso
Sees no script
Campos do sistema de seo de acesso
Reduo dinmica de dados
Restries de acesso herdadas
4.3 Acessando grandes conjuntos de dados com Direct Discovery
Diferenas entre os dados em memria e os dados do Direct Discovery
Modelo na memria
Direct Discovery
Diferenas de desempenho entre os campos da memria e os campos do Direct
Discovery
Diferenas entre os dados da memria e os dados do banco de dados
Armazenamento em cache e o Direct Discovery
Tipos de campo do Direct Discovery
Campos DIMENSION
Campos MEASURE
Campos DETAIL
Fontes de dados suportadas no Direct Discovery
SAP
Google Big Query
MySQL e Microsoft Access
Limitaes no uso do Direct Discovery
Tipos de dados suportados
Segurana
Funcionalidades do Qlik Sense no suportadas
Suporte a vrias tabelas no Direct Discovery
Vinculando tabelas do Direct Discovery com uma clusula Where
Vinculando tabelas do Direct Discovery com clusulas Join On
Usando subconsultas com o Direct Discovery
Cenrio 1: Cardinalidade baixa
Cenrio 2: Usando subconsultas
Registrando em log o acesso ao Direct Discovery
5 Visualizando o modelo de dados

97
97
97
98
98
98
98
99
99
101
102
102
102
102
104
106
107
108
109
109
109
110
110
110
110
110
111
111
111
112
112
112
113
114
115
116
116
118

5.1 Exibies

118

5.2 Movendo e redimensionando tabelas no visualizador do modelo de dados

119

Movendo tabelas
Redimensionando tabelas
5.3 Visualizao de tabelas e campos no visualizador do modelo de dados

119
119
119

Mostrando uma visualizao de uma tabela

Carregando e modelando dados - Qlik Sense, 2.0.2

120

Contedo
Mostrando uma visualizao de um campo
5.4 Criando uma dimenso principal a partir do visualizador do modelo de dados

120
121

5.5 Criando uma medio mestre a partir do visualizador do modelo de dados

121

5.6 Barra de ferramentas do visualizador do modelo de dados

122

6 Prticas recomendadas para a modelagem de dados

123

6.1 Convertendo colunas de dados em linhas

123

6.2 Convertendo linhas de dados em campos

123

6.3 Carregando dados organizados em nveis hierrquicos, por exemplo, um esquema de


organizao.

124

6.4 Carregando apenas registros novos e atualizados de um grande banco de dados

125

6.5 Combinando dados de duas tabelas com um campo comum

125

6.6 Combinando um valor discreto com um intervalo

125

6.7 Manuseando valores de campo inconsistentes

126

6.8 Carregando dados geoespaciais para visualizar dados com um mapa

127

6.9 Extrair, transformar e carregar

127

6.10 Usando arquivos QVD para carga incremental

128

Anexar apenas
Inserir apenas (sem atualizar nem excluir)
Inserir e atualizar (sem excluir)
Inserir, atualizar e excluir
6.11 Combinando tabelas com Join e Keep

129
129
129
130
131

Junes dentro de um comando SQL SELECT


Join
Keep
Inner
Left
Right
6.12 Usando o mapeamento como uma alternativa juno

131
132
132
132
133
134
136

6.13 Trabalhando com tabelas cruzadas

137

6.14 Bancos de dados genricos

139

6.15 Correspondendo intervalos a dados discretos

141

Usando a sintaxe intervalmatch estendida para resolver problemas de lentido durante a


alterao de dimenses
Script de amostra:
6.16 Criando um intervalo de datas a partir de uma nica data

142
142
144

6.17 Hierarquias

146

6.18 Carregando dados de mapa

147

Criando um mapa com dados de um arquivo KML


Criando um mapa a partir dos dados do ponto em um arquivo do Excel
Formatos de dados do ponto
Nmero de pontos
6.19 Limpeza de dados

147
149
149
151
151

Tabelas de mapeamento

Carregando e modelando dados - Qlik Sense, 2.0.2

151

Contedo
Regras:
Usando uma tabela de mapeamento

Carregando e modelando dados - Qlik Sense, 2.0.2

152
152

10

1 Sobre este documento

Sobre este documento

Quando um aplicativo Qlik Sense for criado, o primeiro passo adicionar alguns dados para explorar e
analisar. Este documento descreve como adicionar e gerenciar dados, como criar um script de carga de
dados para modelos de dados mais avanados, como visualizar o modelo de dados resultante no
visualizador do modelo de dados e apresenta as melhores prticas para a modelagem de dados no Qlik
Sense.
Existem duas maneiras de adicionar dados ao aplicativo.
l

Gerenciador de dados
Voc pode adicionar dados de suas prprias fontes de dados ou de outras fontes, tais como Qlik
DataMarket, sem aprender uma linguagem de script. Selees de dados podem ser editadas, e voc
pode obter assistncia para a criao das associaes de dados em seu modelo de dados.
Data load editor
Voc pode criar um modelo de dados com os processos ETL (Extract, Transform & Load) usando a
linguagem de script de carga de dados do Qlik Sense. A linguagem de script poderosa e permite a
realizao de transformaes complexas e a criao de um modelo de dados expansvel.

Lembre-se de consultar o guia do Conceitos no Qlik Sense para aprender mais sobre os conceitos bsicos
relacionados aos diferentes tpicos apresentados.

Para obter referncia detalhada sobre funes de script e funes de grfico, consulte o Guia
de sintaxe de script e funes do grfico.
Este documento baseia-se na ajuda on-line do Qlik Sense. Ele destinado para aqueles que desejar ler
partes da ajuda off-line ou pginas de impresso com facilidade e no incluir quaisquer informaes
adicionais comparadas com a ajuda on-line.
Use a ajuda on-line ou os outros documentos para saber mais.
Os seguintes documentos esto disponveis:
l

Conceitos no Qlik Sense

Trabalhando com aplicativos

Criando visualizaes

Descobrindo e analisando

Dados contadores de histria

Publicando aplicativos, pastas e histrias

Guia de sintaxe de script e funes do grfico

Qlik Sense Desktop

possvel encontrar estes documentos e muito mais em help.qlik.com/sense.

Carregando e modelando dados - Qlik Sense, 2.0.2

11

2 Adicionando e gerenciando dados com o Gerenciador de dados

Adicionando e gerenciando dados com o


Gerenciador de dados

O Gerenciador de dados onde voc adiciona e gerencia dados de suas prprias fontes de dados ou do
Qlik DataMarket, para poder us-los em seu aplicativo. As Tabelas de dados contm todas as tabelas que
voc carregou usando Adicionar dados. Cada tabela exibida com o nome da tabela, o nmero dos
campos de dados e o nome da fonte de dados.
Voc pode visualizar os dados clicando em uma tabela. Voc tambm pode editar a seleo da tabela de
dados ou excluir a tabela de dados.
Quando voc adiciona tabelas de dados ao Gerenciador de dados, o cdigo de script de carga de dados
gerado. Voc pode ver o cdigo do script na seo autogerada do editor de carga de dados. Voc tambm
pode escolher destravar e editar o cdigo de script gerado, mas, nesse caso, as tabelas de dados no sero
mais gerenciadas no Gerenciador de dados.

Tabelas de dados definidas no script de carga no so gerenciadas no Gerenciador de


dados. Ou seja, voc pode ver as tabelas e visualizar os dados, mas no pode excluir ou
editar as tabelas no Gerenciador de dados.

2.1

Adicionando uma nova tabela de dados

Voc pode adicionar rapidamente uma tabela de dados em seu aplicativo, clicando em Adicionar dados no

Gerenciador de dados ou no menu .


Voc pode adicionar dados dos seguintes tipos de fonte de dados:
l

2.2

Conexes
Selecione de conexes de dados definidas por voc ou por um administrador, e pastas das quais voc
j selecionou dados.
Conectar meus dados
Selecione de uma nova fonte de dados, tais como bancos de dados ODBC ou OLE DB, arquivos de
dados, arquivos web ou conectores personalizados.
Qlik DataMarket
Selecione dentre dados normalizados de bancos de dados pblicos e comerciais.

Editando uma tabela de dados

Voc pode editar todas as tabelas de dados adicionadas por voc com Adicionar dados. Voc pode
adicionar, remover ou renomear campos da tabela de dados.
Faa o seguinte:

Carregando e modelando dados - Qlik Sense, 2.0.2

12

2 Adicionando e gerenciando dados com o Gerenciador de dados


1. Clique em @ na tabela de dados que deseja editar.
2. Edite a seleo dos campos de dados.
3. Clique em Finish para salvar a seleo de campo de dados.

Voc pode editar apenas as tabelas de dados adicionadas com Add data. As tabelas de
dados carregadas usando o script de carga podem ser alteradas apenas por meio da edio do
script no editor de carga de dados.
Consulte: Usando o editor da carga de dados (pgina 28)

2.3

Excluindo uma tabela de dados

Voc pode excluir apenas as tabelas de dados adicionadas com Add data. As tabelas de dados carregadas
usando o script de carga podem ser removidas apenas por meio da edio do script no editor de carga de
dados.
Faa o seguinte:
l

Clique em na tabela de dados que deseja excluir.

Caso voc tenha usado campos da tabela de dados em uma visualizao, a remoo da
tabela de dados resulta em um erro exibido no aplicativo.

2.4

Recarregando todos os dados

Faa o seguinte:
l

2.5

Clique em para recarregar todos os dados no aplicativo.

Tabelas concatenadas

Se os nomes de campo e o nmero de campos de duas ou mais tabelas carregadas forem exatamente os
mesmos, o Qlik Sense concatenar automaticamente o contedo dos comandos diferentes em uma tabela.
Tabelas concatenadas so mostradas com uma moldura pontilhada.

Carregando e modelando dados - Qlik Sense, 2.0.2

13

2 Adicionando e gerenciando dados com o Gerenciador de dados

2.6

Tabelas de chaves sintticas

Quando duas ou mais tabelas de dados tiverem dois ou mais campos em comum, isso implicar em um
relacionamento de chave composta. O Qlik Sense resolve isso por meio da criao automtica de chaves
sintticas. Essas chaves so campos annimos que representam todas as combinaes ocorridas da chave
composta.
Se tabelas de chaves sintticas forem criadas como resultado da adio de dados, ser possvel reconheclas em Data tables como o nome iniciado por $. Uma tabela de chave sinttica contm a chave sinttica e
os campos de dados que formam o relacionamento.

No possvel editar as tabelas de chave sinttica j que elas so criadas automaticamente quando o Qlik
Sense carrega dados.

2.7

Adicionando dados de arquivos e bancos de dados

Voc pode adicionar dados rapidamente a seu aplicativo, clicando em Adicionar dados no Gerenciador

de dados ou no menu .
Voc pode adicionar dados dos seguintes tipos de fonte de dados:
l

Conexes
Adiciona dados de conexes de dados definidas por voc ou por um administrador, e pastas das quais
voc selecionou dados anteriormente.
Conectar meus dados
Adicionar dados de uma nova fonte de dados, tais como bancos de dados ODBC ou OLE DB,
arquivos de dados, arquivos Web ou conectores personalizados.
Qlik DataMarket
Selecione dentre dados normalizados de bancos de dados pblicos e comerciais.

Voc tambm pode soltar um arquivo de dados na janela do Qlik Sense Desktop para iniciar
uma carga de dados rpida.

Adicionando dados de uma fonte de dados existente


Voc pode selecionar dados de conexes j definidas por voc ou por um administrador. Pode ser um banco
de dados, uma pasta com arquivos de dados ou um conector personalizado com uma fonte de dados
externa, tal como Salesforce. Pastas das quais voc selecionou dados anteriormente tambm esto
disponveis aqui.
Faa o seguinte:

Carregando e modelando dados - Qlik Sense, 2.0.2

14

2 Adicionando e gerenciando dados com o Gerenciador de dados


1. Clique em Adicionar dados.
2. Clique em Connections.
3. Selecione a conexo que ser usada.
4. Selecione a fonte especfica de dados da qual voc deseja adicionar dados. O que difere dependendo
do tipo de fonte de dados. O mais comum
l

Fontes de dados com base em arquivo: Selecione um arquivo.

Bancos de dados: Defina que banco de dados usar.

Arquivos da Web: Insira a URL do arquivo da Web.

Outras fontes de dados: Especificadas pelo conector.

5. Selecione as tabelas e campos a serem carregados.


Se voc desejar ignorar a etapa de anlise de dados, pode continuar para a etapa 8.
6. Clique em Analisar dados.
Os dados sero analisados para fornecer recomendaes de associao de campo.
7. Se a anlise de dados resultar em recomendaes, elas so exibidas e voc recebe assistncia para
validar e melhorar a relao entre as tabelas, por exemplo, adicionar ou remover relaes
renomeando um ou mais campos.
8. Clique em Carregar e concluir.

Adicionando dados de uma nova fonte de dados


Voc pode selecionar dados de uma fonte de dados que voc ainda no usou. H vrios tipos de fonte de
dados disponveis.
Faa o seguinte:

1. Clique em Adicionar dados.


2. Clique em Conectar meus dados.
3. Selecione o tipo de fonte de dados a ser usada.
4. Selecione a fonte especfica de dados da qual voc deseja adicionar dados.
l

Fontes de dados baseadas em arquivo: Selecione um arquivo.

Bancos de dados: Defina que banco de dados usar.

Arquivos da Web: Insira a URL do arquivo da Web.

Outras fontes de dados: Especificadas pelo conector ao banco de dados.

5. Selecione as tabelas e campos a serem carregados.


Se voc desejar ignorar a etapa de anlise de dados, pode continuar para a etapa 8.
6. Clique em Analisar dados.
Os dados sero analisados para fornecer recomendaes de associao de campo.
7. Se a anlise de dados resultar em recomendaes, elas so exibidas e voc recebe assistncia para
validar e melhorar a relao entre as tabelas, por exemplo, adicionar ou remover relaes
renomeando um ou mais campos.
8. Clique em Carregar e concluir.

Quais fontes de dados esto disponveis para mim?


Os tipos de fontes de dados disponveis para voc variam de acordo com diversos fatores:

Carregando e modelando dados - Qlik Sense, 2.0.2

15

2 Adicionando e gerenciando dados com o Gerenciador de dados


l

Configuraes de acesso
As configuraes de administrao determinam a que tipos de fontes de dados voc pode conectar.
Conectores personalizados instalados
O Qlik Sense contm suporte nativo para muitas fontes de dados. Para se conectar a fontes de dados
adicionais, necessrio um conector personalizado, fornecido pelo Qlik ou por um terceiro. Os
conectores personalizados precisam ser instalados antes possam ser utilizados.
Disponibilidade de arquivos locais
Arquivos locais em seu computador desktop esto disponveis apenas em Qlik Sense Desktop. Eles
no esto disponveis em uma instalao de servidor Qlik Sense.

Caso existam arquivos locais que voc deseje carregar em uma instalao de servidor
do Qlik Sense, ser necessrio transferir os arquivos para uma pasta disponvel para o
servidor do Qlik Sense, de preferncia uma pasta que j esteja definida como uma
conexo de dados de pasta.

Selecionando campos de dados de sua fonte de dados


Voc pode selecionar quais tabelas e campos usar ao adicionar dados ou editar uma tabela. Algumas fontes
de dados, tais como um arquivo CSV, contm uma nica tabela, enquanto outras fontes de dados, tais como
planilhas ou bancos de dados do Microsoft Excel, podem conter diversas tabelas.
Se uma tabela contiver uma linha de cabealho, os nomes do campo geralmente sero detectados
automaticamente, mas talvez seja necessrio alterar a configurao para Nomes do campo em alguns
casos. Talvez seja necessrio alterar outras configuraes da tabela, como, por exemplo, Header size ou

Character set, para interpretar corretamente os dados. As opes de tabela so diferentes para diferentes
tipos de fontes de dados.

Selecionando dados de um banco de dados


Ao adicionar dados de um banco de dados, a fonte de dados pode conter diversas tabelas.
Faa o seguinte:

1. Selecione um Banco de dados na lista suspensa.


2. Selecione o Proprietrio do banco de dados.
3. Selecione a primeira tabela a partir da qual selecionar dados. Voc pode selecionar todos os campos
na tabela marcando a caixa de seleo ao lado do nome da tabela.
4. Selecione os campos que deseja carregar marcando a caixa de seleo ao lado de cada campo que
deseja carregar.
Voc pode editar o nome do campo clicando no nome do campo existente e digitando
um novo nome. Isso pode afetar como a tabela est vinculada a outras tabelas, j que
elas so unidas pelos campos em comum, por padro.
5. Quando tiver concludo a seleo de dados, voc poder continuar de uma das duas formas:

Carregando e modelando dados - Qlik Sense, 2.0.2

16

2 Adicionando e gerenciando dados com o Gerenciador de dados


l

Clique em Analisar dados para continuar com a anlise de dados, e para ver recomendaes
para os relacionamentos entre tabelas.

Clique em Load and finish para carregar os dados selecionados como so, ignorando a
etapa de anlise de dados, e para iniciar a criao de visualizaes. As tabelas sero
vinculadas usando associaes naturais, ou seja, campos com o nome em comum.

Selecionando dados de uma planilha do Microsoft Excel


Ao adicionar dados de uma planilha do Microsoft Excel, ela poder conter diversas pastas. Cada pasta
carregada como uma tabela separada. Ocorre uma exceo quando a pasta tem a mesma estrutura de
campo/coluna que outra pasta ou tabela carregada, neste caso, as tabelas sero concatenadas.
Faa o seguinte:

1. Certifique-se de que as configuraes da pasta estejam corretas:


Nomes do

Configure para especificar se a tabela contm os Nomes de campo

campo

incorporados ou Nenhum nome de campo.

Tamanho do

Configure o nmero de linhas para omitir como cabealho da tabela.

cabealho
2. Selecione a primeira pasta a partir da qual selecionar dados. Voc pode selecionar todos os campos
em uma pasta marcando a caixa de seleo ao lado do nome da pasta.
3. Selecione os campos que deseja carregar marcando a caixa de seleo ao lado de cada campo que
deseja carregar.
Voc pode editar o nome do campo clicando no nome do campo existente e digitando
um novo nome. Isso pode afetar como a tabela est vinculada a outras tabelas, j que
elas so unidas pelos campos em comum, por padro.
4. Quando tiver concludo a seleo de dados, voc poder continuar de uma das duas formas:
l

Clique em Analisar dados para continuar com a anlise de dados, e para ver recomendaes
para os relacionamentos entre tabelas.

Clique em Load and finish para carregar os dados selecionados como so, ignorando a
etapa de anlise de dados, e para iniciar a criao de visualizaes. As tabelas sero
vinculadas usando associaes naturais, ou seja, campos com o nome em comum.

Selecionando dados de um arquivo de tabela


Voc pode adicionar dados de um grande nmero de arquivos de dados.
Faa o seguinte:

1. Certifique-se de que o tipo apropriado de arquivo esteja selecionado em File format.


2. Certifique-se de que as configuraes do arquivo estejam corretas. As configuraes de arquivo so
diferentes para diferentes tipos de arquivo.
3. Selecione os campos que deseja carregar marcando a caixa de seleo ao lado de cada campo que

Carregando e modelando dados - Qlik Sense, 2.0.2

17

2 Adicionando e gerenciando dados com o Gerenciador de dados


deseja carregar. Voc tambm pode selecionar todos os campos em um arquivo marcando a caixa de
seleo ao lado do nome da pasta.

Voc pode editar o nome do campo clicando no nome do campo existente e digitando
um novo nome. Isso pode afetar como a tabela est vinculada a outras tabelas, j que
elas so unidas pelos campos em comum, por padro.
4. Quando tiver concludo a seleo de dados, voc poder continuar de duas formas diferentes:
l

Clique em Analisar dados para continuar com a anlise de dados, e para ver recomendaes
para os relacionamentos entre tabelas.

Clique em Load and finish para carregar os dados selecionados como so, ignorando a
etapa de anlise de dados, e para iniciar a criao de visualizaes. As tabelas sero
vinculadas usando associaes naturais, ou seja, campos com o nome em comum.

Retornando etapa anterior (Add data)


Voc pode retornar etapa anterior quando estiver adicionando dados.
Faa o seguinte:
l

Clique em para retornar etapa anterior de Add data.

Escolhendo configuraes para tipos de arquivo


Arquivos de tabela delimitados
Essas configuraes so validadas para arquivos de tabela delimitados, contendo uma nica tabela na qual
cada registro separado por uma linha e cada campo separado por um caractere delimitado, por exemplo
um arquivo CSV.

Configuraes de formato de arquivo


Formato do
arquivo

Configure como Delimitado ou Registro fixo.


Ao fazer uma seleo, o dilogo de seleo de dados se adapta ao formato de arquivo
selecionado.

Nomes do

Configure para especificar se a tabela contm os Nomes de campo incorporados ou

campo

Nenhum nome de campo.

Delimiter

Configure o caractere Delimitador usado em seu arquivo de tabela.

Entre aspas

Defina a especificao de como lidar com citaes:

Nenhuma = aspas no so aceitas


Padro = citao padro (aspas podem ser usadas como primeiro e ltimo caracteres
de um valor de campo)
MSQ = aspas de estilo moderno (permite contedo em vrias linhas em campos)

Carregando e modelando dados - Qlik Sense, 2.0.2

18

2 Adicionando e gerenciando dados com o Gerenciador de dados


Tamanho do

Configure o nmero de linhas para omitir como cabealho da tabela.

cabealho
Conjunto de

Configure como o conjunto de caracteres usado no arquivo de tabela.

caracteres
Comentrio

Os arquivos de dados podem conter comentrios entre registros, denotados comeando


uma linha com um ou mais caracteres especiais, como //.
Especifique um ou mais caracteres para denotar uma linha de comentrio. O Qlik Sense
no carrega as linhas que comearem pelo(s) caractere(s) especificado(s) aqui.

Ignorar fim

Selecione Ignorar EOF se os dados contiverem caracteres de final de arquivo como

do arquivo

parte do valor do campo.

(EOF)

Arquivos de dados de registro fixo


Arquivos de dados de registro fixo contm uma nica tabela na qual cada registro (linha de dados) contm
um nmero de colunas com um tamanho de campo fixo, geralmente preenchido com espaos ou caracteres
de tabulao.

Configurando as posies de interrupo de campo


Voc pode definir as posies de interrupo de campo de duas maneiras diferentes:
l

Insira manualmente as posies de interrupo de campo separadas por vrgulas, em Posies de

interrupo de campo. Cada posio marca o incio de um campo.


Exemplo: 1,12,24
l

Ative Interrupes de campo para editar as posies de interrupo de campo interativamente, na


visualizao dos dados do campo. A rea Posies de interrupo de campo atualizada com as
posies selecionadas. Voc pode:
l

Clicar na visualizao de dados de campo para inserir uma interrupo de campo.

Clicar em uma interrupo de campo para exclu-la.

Clicar em uma interrupo de campo para mov-la.

Configuraes de formato de arquivo


Nomes do campo

Configure para especificar se a tabela contm os Nomes de campo

incorporados ou Nenhum nome de campo.


Tamanho do

Configure Tamanho do cabealho como o nmero de linhas para omitir como

cabealho

cabealho da tabela.

Conjunto de

Configure para o conjunto de caracteres usado no arquivo de tabela.

caracteres
Tamanho da guia

Configure o nmero de espaos que um caractere tab representa no arquivo de


tabela.

Carregando e modelando dados - Qlik Sense, 2.0.2

19

2 Adicionando e gerenciando dados com o Gerenciador de dados


Tamanho de linha
do registro

Configure o nmero de linhas que um registro ocupa no arquivo de tabela. O


padro 1.

Arquivos HTML
Arquivos HTML podem conter diversas tabelas. O Qlik Sense interpreta todos os elementos com um rtulo
<TABLE> como tabela.

Configuraes de formato de arquivo


Nomes do campo

Configure para especificar se a tabela contm os Nomes de campo

incorporados ou Nenhum nome de campo.


Conjunto de

Configure o conjunto de caracteres usado no arquivo de tabela.

caracteres

Arquivos XML
Voc pode carregar os dados armazenados no formato XML.
No h um formato de arquivo especfico para arquivos XML.

Arquivos QVD
Voc pode carregar os dados armazenados no formato QVD. O QVD um formato nativo do Qlik e pode ser
gravado e lido apenas pelo Qlik Sense ou QlikView. O formato de arquivo otimizado para velocidade na
leitura de dados de um script do Qlik Sense e ao mesmo tempo compacto.
No h um formato de arquivo especfico para arquivos QVD.

Arquivos KML
Voc pode carregar arquivos de mapa que esto armazenados no formato KML para uso nas visualizaes
de mapa.
No h um formato de arquivo especfico para arquivos KML.

2.8

Adicionando dados do Qlik DataMarket

Voc pode adicionar dados de fontes externas com o Qlik DataMarket. OQlik DataMarket oferece uma
coleo extensiva de dados atualizados e prontos para uso de fontes externas acessveis diretamente do
interior do Qlik Sense. O Qlik DataMarket fornece dados demogrficos e climticos, atuais e histricos, taxas
de cmbio e dados econmicos e sociais.
As principais categorias do Qlik DataMarket so:
l

Business: Os dados mais relevantes para firmas e estabelecimentos locais e nacionais.

Demographics: Dados detalhados da populao da Amrica do Norte, Europa e do resto do mundo.

Weather: Condies climticas atuais e histricas dos principais locais do mundo.

Currency: Taxas de cmbio internacionais das principais moedas do mundo, atualizadas diariamente.

Society: Principais dados socioeconmicos sobre salrios, desemprego e pobreza.

Carregando e modelando dados - Qlik Sense, 2.0.2

20

2 Adicionando e gerenciando dados com o Gerenciador de dados


l

Economy: Principais indicadores econmicos, incluindo dados sobre PIB, preos, educao e meioambiente.

Alguns dados do Qlik DataMarket esto disponveis gratuitamente. Os dados no Essentials package esto
disponveis mediante o pagamento de uma taxa de assinatura.

O Essentials package no est disponvel em Qlik Sense Desktop.


Os dados do Qlik DataMarket podem ser examinados separadamente ou de forma integrada com seus
prprios dados. Geralmente, ampliar os dados internos com o Qlik DataMarket pode levar a descobertas
mais valiosas.
Os dados do Qlik DataMarket esto sincronizados com a fonte da qual so derivados. A frequncia com a
qual os dados fontes so atualizados varia. Dados climticos e de mercado normalmente so atualizados
pelo menos uma vez por dia, enquanto as estatsticas demogrficas pblicas so, em geral, atualizadas
anualmente. A maioria dos indicadores macroeconmicos, tais como desemprego, ndices de preo e
comrcio, publicada mensalmente. Geralmente, todas as atualizaes se tornam disponveis no Qlik
DataMarket no mesmo dia.
Selees de dados no Qlik Sense so persistentes, de modo que os dados mais recentes disponveis sejam
carregados do Qlik DataMarket, sempre que o modelo de dados recarregado.
A maior parte dos dados do Qlik DataMarket global e especfica do pas. Por exemplo, os dados de
populao mundial esto disponveis para mais de 200 pases e territrios. Alm disso, o Qlik DataMarket
oferece vrios dados sobre estados e regies dentro dos Estados Unidos e pases da Europa.

Selecionando dados do Qlik DataMarket


Obtendo acesso ao Qlik DataMarket
Antes de poder usar os dados do Qlik DataMarket, voc deve aceitar os termos e condies de uso. Alm
disso, se voc pagou pelo Essentials package, deve inserir suas credenciais de acesso para usar os dados do
pacote.

No necessrio aceitar os termos e condies do Qlik DataMarket ao utilizar Qlik Sense


Desktop. Credenciais de acesso para o DataMarketEssentials package tambm no so
solicitadas, porque o Essentials package no est disponvel em Qlik Sense Desktop.
Faa o seguinte:

1. Abra o Qlik Management Console.


2. Selecione Qlik DataMarket na guia Licenas e tokens.
3. Selecione Eu aceito os termos e condies.
4. Selecione uma Assinatura, seja Gratuita ou pacote Essentials.
5. Se voc selecionar pacote Essentials, insira suas credenciais de acesso:
Nome do proprietrio

Carregando e modelando dados - Qlik Sense, 2.0.2

21

2 Adicionando e gerenciando dados com o Gerenciador de dados


Organizao do proprietrio
Nmero de srie
Nmero de controle
6. Depois de inserir suas credenciais de acesso para o pacote Essentials, expanda Acesso do LEF e
clique em Obter LEF e visualizar a licena para baixar um arquivo LEF do servidor LEF do Qlik
Sense.
Como alternativa, voc pode copiar as informaes de LEF de um arquivo LEF e colar no campo de
texto.

Falha ao obter o arquivo LEF do servidor exibido se o nmero de srie ou de


controle estiver incorreto.
7. Clique em Aplicar.

Selecionando dados do Qlik DataMarket


Ao selecionar dados do Qlik DataMarket, voc seleciona categorias e filtra os campos de dados disponveis
nessas categorias. As categorias do DataMarket contm grandes quantidades de dados, a filtragem permite
que voc use subconjuntos de dados e reduza a quantidade de dados carregados.
Faa o seguinte:

1. Clique em Adicionar dados.


2. Clique em Qlik DataMarket na etapa Selecionar fonte de dados para exibir as categorias de
dados Qlik DataMarket.
As principais categorias de dados so Negcios, Demografia, Clima, Cmbio, Sociedade e Economia
3. Selecione uma categoria de dados.
4. Selecione uma subcategoria de dados na etapa Selecionar um conjunto de dados.
Clicar no cone ] prximo a cada subcategoria exibe os metadados do subconjunto da categoria.
Selecionar a subcategoria cria uma conexo quela coleo de dados especfica.

Subcategorias marcadas como Premium fazem parte do Essentials package. Para


selecionar subcategorias Premium, voc deve fornecer suas credenciais de acesso.
5. Selecione pelo menos um filtro de cada campo na etapa Selecionar dados para carregar.
Cada campo emoldurado por uma caixa. Um campo contm filtros que permitem que voc filtre os
dados de acordo com suas necessidades especficas e limite a quantidade de dados carregada. Um
campo pode conter um nico conjunto de filtros ou vrias colunas hierrquicas de filtros. Por exemplo,
no conjunto de dados a seguir, o campo Pas contm um nico conjunto de filtros e o campo Sexo
contm uma hierarquia de duas colunas.

Carregando e modelando dados - Qlik Sense, 2.0.2

22

2 Adicionando e gerenciando dados com o Gerenciador de dados

Selecionar o nome do campo (por exemplo, Pas) faz com que todo o bloco de filtros seja
selecionado.
Conforme voc faz selees, a tabela abaixo dos campos atualizada para refletir as sees
acumuladas.

Os nomes de campo do Qlik DataMarket no podem ser alterados em Adicionar


dados da mesma forma em que nomes de filtros de outras fontes podem. No entanto,
eles podem ser alterados ao criar ou alterar associaes na etapa Perfil.
6. Clique em Perfil quando tiver terminado de fazer suas selees, se desejar verificar a estrutura dos
dados quando esses estiverem carregados e receba recomendaes para melhorar as associaes de
dados.
7. Clique em Carregar e concluir.

Integrando o Qlik DataMarket com dados de outras fontes


Qlik Sense integra dados do Qlik DataMarket conforme eles so adicionados com Adicionar dados.
Conforme os dados de vrias fontes so selecionados, como arquivos, bancos de dados e DataMarket, Qlik
Sense detecta associaes entre tabelas e as incorpora no modelo de dados. Nem todas as associaes so
vlidas, por isso voc deve analisar os dados para avaliar as associaes antes de carregar.
A anlise dos dados a forma recomendada para transformar alteraes em associaes. Os nomes dos
campos podem ser alterados para criar associaes ou remover chaves sintticas, eles podem ser alterados
na etapa de perfil Adicionar dados. Lembre-se, nomes de campos do DataMarket no podem ser alterados
na etapa Selecionar dados para carregar em Adicionar dados.
H duas formas adicionais de criar associaes fora da etapa de anlise. Voc pode usar Adicionar dados
para alterar os nomes dos campos em conjuntos de dados que no sejam do DataMarket ou editar o script de
carga de dados.

Carregando e modelando dados - Qlik Sense, 2.0.2

23

2 Adicionando e gerenciando dados com o Gerenciador de dados


Alterar nomes de campo
Faa o seguinte:

1. Clique em @ prximo ao nome do conjunto de dados cujo nome de campo voc quer alterar.
No selecione um conjunto de dados do Qlik DataMarket, pois os nomes dos campos
do DataMarket no podem ser editados.
2. Altere um nome de campo clicando no nome existente no cabealho da coluna e digitando o novo
nome.
O novo nome deve corresponder a um nome de campo em um conjunto de dados do Qlik DataMarket
para formar uma associao com esses dados. Para quebrar uma associao com dados do
DataMarket, altere o campo para que ele no corresponda ao nome da lista do DataMarket.
3. Clique em Perfil para ver a associao formada pela alterao do nome.
Se voc criar uma nova associao, o Qlik Sense indica a fora da associao e se ela no
recomendada.
4. Clique em Carregar e concluir.

Editar o script de carga de dados


Quando voc adiciona tabelas de dados ao Gerenciador de dados, o cdigo de script de carga de dados
gerado. Voc pode ver o cdigo do script na seo autogerada do editor de carga de dados. Voc tambm
pode escolher destravar e editar o cdigo de script gerado, mas, nesse caso, as tabelas de dados no
podero mais ser gerenciadas no Gerenciador de dados.

Retornando etapa anterior (Add data)


Voc pode retornar etapa anterior quando estiver adicionando dados.
Faa o seguinte:
l

2.9

Clique em para retornar etapa anterior de Add data.

Gerenciando associaes entre tabela de dados

Voc tem a oportunidade de reparar problemas de associao com os arquivos de dados que desejar
carregar. Qlik Sense associar tabelas automaticamente com base nos nomes do campo comuns, mas
existem casos em que necessrio ajustar a associao, como por exemplo:
l

Se voc tiver carregado dois campos contendo os mesmos dados, mas com nomes diferentes e de
duas tabelas diferentes, uma boa ideia nomear os campos de maneira idntica para relacionar as
tabelas.
Se voc tiver carregado dois campos contendo dados diferentes, mas com nomes do campo idnticos
de duas tabelas diferentes, ser necessrio renomear pelo menos um dos campos para carreg-los
como campos separados.

Carregando e modelando dados - Qlik Sense, 2.0.2

24

2 Adicionando e gerenciando dados com o Gerenciador de dados


O Qlik Sense realiza a anlise dos dados que voc deseja carregar para ajud-lo a reparar a associao da
tabela. Associaes ruins existentes e associaes boas potenciais so realadas, e voc pode obter ajuda
ao selecionar campos a serem associados, com base na anlise dos dados.

Visualizando recomendaes
As recomendaes de associao so exibidas em uma lista, e voc pode navegar entre as recomendaes
e avisos usando os botes e . Se a lista contm advertncias, h problemas de associao que
precisam ser resolvidos.

Duas fontes de dados contm um campo com dados relacionados,


mas com nomes diferentes

Neste caso, as duas tabelas contm um campo em comum com nomes diferentes nas duas tabelas. Atual
mostra que as tabelas no esto associadas, mas Sugestes mostra que h dois campos com dados
semelhantes, com uma pontuao de correspondncia mais alta.
Para criar uma associao entre as tabelas, necessrio renomear um ou dois campos para que ambos
tenham um nome em comum.
Faa o seguinte:

1. Selecione o par de campos que considera mais adequado. Geralmente, o par com a pontuao
mais alta.
2. Selecione o nome do campo que deseja usar ou digite um novo nome de usurio personalizado.
Agora que os campos tm o mesmo nome, as tabelas sero associadas quando os dados forem carregados.

Carregando e modelando dados - Qlik Sense, 2.0.2

25

2 Adicionando e gerenciando dados com o Gerenciador de dados


Duas fontes de dados contm campos com o mesmo nome, mas
dados no relacionados

Neste caso, a anlise de dados revelou que as duas tabelas contm campos com dados no relacionados,
mas com o mesmo nome, indicados por uma baixa pontuao de correspondncia. O campo ID na tabela
Sales pode ser um identificador nico para cada pedido, enquanto o campo ID na tabela Stores o
identificador de uma loja. Caso as tabelas sejam carregadas sem resolver o problema, elas sero
associadas, o que poderia resultar em um modelo de dados problemtico.
Para garantir que as tabelas no sejam associadas, ser necessrio dar nomes diferentes aos campos.
Faa o seguinte:

1. Selecione Sem associao.


2. Clique em Renomear campos.
Os campos foram renomeados com o nome da tabela, neste caso, Sales.ID e Stores.ID. As tabelas no
sero associadas quando os dados forem carregados.

Duas tabelas contm mais de um campo em comum


Se duas tabelas contiverem mais de um campo em comum que criariam uma associao, o Qlik Sense
criar uma chave sinttica. Se isso for encontrado durante a anlise de dados, voc receber
recomendaes para manter um dos campos como uma chave, renomeando os outros campos em comum,
ou rompendo a associao entre as tabelas.

Carregando dados
Quando tiver resolvido as sugestes, voc poder proceder para a carga de dados, incluindo os dados que
acabou de adicionar, clicando em Carregar e concluir.

Ignorando recomendaes
Voc pode carregar os dados selecionados como so, ignorando as recomendaes da anlise de dados, e
iniciar a criao de visualizaes.

Carregando e modelando dados - Qlik Sense, 2.0.2

26

2 Adicionando e gerenciando dados com o Gerenciador de dados


Faa o seguinte:
l

Clique em Load and finish sem aplicar nenhuma das alteraes sugeridas pela anlise de dados.

As tabelas sero vinculadas usando associaes naturais, ou seja, campos com o nome em comum.

Retornando etapa anterior (Add data)


Voc pode retornar etapa anterior quando estiver adicionando dados.
Faa o seguinte:
l

Clique em para retornar etapa anterior de Add data.

Carregando e modelando dados - Qlik Sense, 2.0.2

27

3 Carregando dados com o script de carga de dados

Carregando dados com o script de carga de


dados

Esta introduo serve como uma breve apresentao de como voc pode carregar dados no Qlik Sense para
fornecer um fundamento para os tpicos nesta seo, apresentando como realizar o carregamento bsico de
dados e a transformao usando o script de carga de dados.
O Qlik Sense utiliza um script de carga de dados, gerenciado no editor da carga de dados para se conectar e
recuperar dados de vrias fontes de dados. No script, os campos e as tabelas a serem carregados so
especificados. Tambm possvel manipular a estrutura de dados usando comandos e expresses de script.
Durante a carga de dados, o Qlik Sense identifica campos comuns de tabelas diferentes (campos-chave)
para associar os dados. A estrutura de dados resultante dos dados no aplicativo pode ser monitorada no
visualizador do modelo de dados. As alteraes na estrutura de dados podem ser obtidas renomeando os
campos para obter diferentes associaes entre as tabelas.
Aps o carregamento dos dados no Qlik Sense, eles so armazenados no aplicativo. O aplicativo o centro
da funcionalidade do programa e caracterizado pela forma irrestrita na qual os dados so associados, seu
grande nmero de dimenses possveis, velocidade de anlise e tamanho compacto. O aplicativo mantido
na RAM quando aberto.
A anlise no Qlik Sense sempre acontece enquanto o aplicativo no est diretamente conectado s fontes
de dados. Dessa forma, para atualizar os dados, voc precisa recarregar o script.

3.1

Usando o editor da carga de dados

Esta seo descreve como usar o editor de carga de dados para criar ou editar um script de carga de dados
que pode ser usado para carregar seu modelo de dados no aplicativo.
O script de carga de dados conecta um aplicativo a uma fonte de dados e carrega os dados da fonte para o
aplicativo. Ao carregar os dados, eles ficam disponveis para o aplicativo analisar. Quando quiser criar, editar
e executar um script de carga de dados, use o editor da carga de dados.
Um script pode ser digitado manualmente ou gerado automaticamente. Os comandos de scripts complexos
devem ser, pelo menos parcialmente, inseridos de forma manual.

Carregando e modelando dados - Qlik Sense, 2.0.2

28

3 Carregando dados com o script de carga de dados

Barra de ferramentas com os comandos mais frequentemente


usados do editor da carga de dados: menu de navegao,

Barras de ferramentas do

menu global, Salvar, u (Depurar) e Executar dados. A


barra de ferramentas tambm exibe o status de salvar e
carregar dados do aplicativo.

(pgina 63)

Em Conexes de dados, voc pode salvar atalhos para as

Conectar s fontes de dados

fontes de dados (bancos de dados ou arquivos remotos)


usados com frequncia. Tambm aqui que voc inicia a
seleo de quais dados deseja carregar.

(pgina 30)

Voc pode escrever e editar o cdigo do script no editor de


texto. Cada linha do script numerada e o script codificado
por cores conforme os componentes da sintaxe. A barra de
ferramentas do editor de texto contm comandos para
Buscar e substituir, Modo de ajuda, Desfazer e Refazer.

Editar o script de carga de

editor da carga de dados

dados (pgina 55)

O script inicial j contm algumas configuraes de variveis


regionais pr-definidas, por exemplo, SET ThousandSep=, que
voc geralmente no precisa editar.

Divida o seu script em sees para torn-lo mais fcil de ler e


manter. As sees so executadas de cima para baixo.

Organizando o cdigo de
script (pgina 57)

Sada exibe todas as mensagens geradas durante a execuo


do script.

Carregando e modelando dados - Qlik Sense, 2.0.2

29

3 Carregando dados com o script de carga de dados


Incio rpido
Se quiser carregar um arquivo ou tabelas a partir de um banco de dados, ser necessrio concluir os
seguintes passos em Conexes de dados:

1. Criar nova conexo para vincular fonte de dados (se a conexo de dados ainda no existir).
2.

Selecionar dados da conexo.

Depois de concluir o dilogo de seleo com Inserir script, voc pode selecionar Executar script para
carregar o modelo de dados em seu aplicativo.

Para obter referncia detalhada sobre funes de script e funes de grfico, consulte o Guia
de sintaxe de script e funes do grfico.

Conectar s fontes de dados


As conexes de dados no editor da carga de dados fornecem uma maneira de salvar atalhos para as fontes
de dados que voc usa frequentemente: bancos de dados, arquivos locais ou arquivos remotos. As
Conexes de dados listam as conexes salvas em ordem alfabtica. possvel usar a caixa de
pesquisa/filtro para reduzir a lista s conexes com um determinado nome ou tipo.
Existem os seguintes tipos de conexes:
l

Conectores padro:
l

Conexes de banco de dados ODBC.

Conexes de banco de dados OLE DB.

Conexes de Pasta que definem um caminho para pastas de arquivos locais ou de rede.

Conexes de arquivo da Web usadas para selecionar dados de arquivos localizados em uma
URL da web.

Conectores personalizados:
Com os conectores personalizados desenvolvidos, voc pode se conectar s fontes de dados que no
so suportadas diretamente pelo Qlik Sense. Os conectores personalizados so desenvolvidos com o
QVX SDK fornecidos pelo Qlik ou por outros desenvolvedores. Em uma instalao padro do Qlik
Sense, nenhum conector personalizado estar disponvel.

Voc s poder ver as suas conexes de dados ou aquelas para as quais possui direitos de
acesso de leitura e atualizao. Entre em contato com o administrador do sistema do Qlik
Sense para adquirir acesso, se necessrio.

Criando uma nova conexo de dados


Faa o seguinte:

1. Clique em Criar nova conexo.


2. Selecione o tipo de fonte de dados que voc deseja criar na lista suspensa.

Carregando e modelando dados - Qlik Sense, 2.0.2

30

3 Carregando dados com o script de carga de dados


A caixa de dilogo de configuraes, especfica do tipo de fonte de dados que voc selecionou,
aberta.

3. Digite as configuraes da fonte de dados e clique em Create para criar a conexo de dados.
A conexo de dados foi criada tendo voc como o proprietrio padro. Caso deseje que outros usurios
possam usar a conexo em uma instalao no servidor, voc precisar editar os direitos de acesso da
conexo no Qlik Management Console.

O nome da conexo ser anexado com seu nome de usurio e domnio para garantir que ele
seja exclusivo.

Se Criar nova conexo no for exibido, isso significa que voc no tem os direitos de acesso
para adicionar conexes de dados. Entre em contato com o administrador do sistema do Qlik
Sense para adquirir acesso, se necessrio.

Excluindo uma conexo de dados


Faa o seguinte:

1. Clique em E na conexo de dados que deseja excluir.


2. Confirme que voc deseja excluir a conexo.
A conexo de dados excluda.

Se E no for exibido, significa que voc no possui direitos de acesso para excluir a conexo
de dados. Entre em contato com o administrador do sistema do Qlik Sense para adquirir
acesso, se necessrio.

Editando uma conexo de dados


Faa o seguinte:

1. Clique em @ na conexo de dados que deseja editar.


2. Edite os detalhes da conexo de dados. Os detalhes da conexo so especficos para o tipo de
conexo.
3. Clique em Salvar.
A conexo de dados atualizada.

Se voc editar o nome de uma conexo de dados, tambm ser preciso editar todas as
referncias existentes (lib://) conexo no script, caso queira continuar a fazer referncias
mesma conexo.

Carregando e modelando dados - Qlik Sense, 2.0.2

31

3 Carregando dados com o script de carga de dados


Se @ no for exibido, significa que voc no possui os direitos de acesso para atualizar a
conexo de dados. Se necessrio, entre em contato com o administrador do sistema Qlik
Sense.

Inserindo uma string de conexo


Strings de conexo so necessrias para ODBC, OLE DB e conexes personalizadas.
Faa o seguinte:
l

Clique em na conexo em que deseja inserir uma string de conexo.

A string de conexo da conexo de dados selecionada inserida na posio atual no editor da carga de
dados.

Voc tambm pode inserir uma string de conexo arrastando uma conexo de dados e
soltando-a na posio no script onde deseja inseri-la.

Selecionando dados de uma conexo de dados


Se voc quiser selecionar dados para carregar em seu aplicativo, faa o seguinte:

1. Criar nova conexo para vincular fonte de dados (caso a conexo de dados ainda no exista).
2.

Selecionar dados da conexo.

Fazendo referncia a uma conexo de dados no script


Voc pode usar a conexo de dados para se referir a fontes de dados em comandos e funes no script,
geralmente onde voc quiser criar uma referncia a um nome de arquivo com um caminho.
A sintaxe para fazer uma referncia a um arquivo 'lib://(nome_conexo)/(nome_arquivo_incluindo_

caminho)'
Exemplo 1: Carregando um arquivo de uma conexo de dados de pasta
Esse exemplo carrega o arquivo orders.csv a partir do local definido na MyData conexo de dados.
LOAD * FROM 'lib://MyData/orders.csv';

Exemplo 2: Carregando um arquivo de uma subpasta


Esse exemplo carrega o arquivo Customers/cust.txt da DataSource pasta de conexo de dados. Customers
uma subpasta no local definido na conexo de dados MyData.
LOAD * FROM 'lib://DataSource/Customers/cust.txt';

Exemplo 3: Carregando de um arquivo web

Carregando e modelando dados - Qlik Sense, 2.0.2

32

3 Carregando dados com o script de carga de dados


Esse exemplo carrega uma tabela da conexo de dados de arquivo web PublicData, que contm o link para a
URL verdadeira.
LOAD * FROM 'lib://PublicData' (html, table is @1);

Exemplo 4: Carregando de um banco de dados


Esse exemplo carrega a tabela Sales_data da conexo de banco de dados MyDataSource.
LIB CONNECT TO 'MyDataSource';
LOAD *;
SQL SELECT * FROM `Sales_data`;

Onde a conexo de dados armazenada?


As conexes so armazenadas com o Qlik Sense Repository Service. possvel gerenciar conexes de
dados com o Qlik Management Console em uma implantao de servidor do Qlik Sense. O Qlik
Management Console permite excluir conexes de dados, definir direitos de acesso e realizar outras tarefas
de administrao do sistema.

No Qlik Sense Desktop, todas as conexes so salvas no aplicativo, sem criptografia. Isso
inclui possveis detalhes sobre nome de usurio, senha e caminho do arquivo que voc digitou
ao criar a conexo. Isso significa que todos estes detalhes podem estar disponveis em texto
simples se o aplicativo for compartilhado com outro usurio. Voc precisa considerar esses
fatores ao projetar um aplicativo para compartilhamento.

Conexes de dados ODBC


Voc pode criar uma conexo de dados para selecionar dados de uma fonte de dados ODBC que j foi criada
e configurada na caixa de dilogo Administrador da fonte de dados ODBC no Painel de controle do
Windows.

Criando uma nova conexo de dados ODBC


Faa o seguinte:

1. Clique em Criar nova conexo e selecione ODBC.


A caixa de dilogo Criar nova conexo (ODBC) aberta.
2. Selecione a fonte de dados a ser usada na lista de fontes de dados disponveis, que pode ser DSN
de usurio ou DSN de sistema.
As conexes de DSN de sistema podem ser filtradas de acordo com 32 bits ou 64 bits.
Para fontes de DSN de usurio, voc precisa especificar se um driver de 32 bits usado com Usar
conexo de 32 bits.
3. Adicione Nome de usurio e Senha se exigido pela fonte de dados.
4. Se quiser usar um nome diferente do nome padro do DSN, edite Nome.
5. Clique em Create.
A conexo adicionada s Conexes de dados e voc pode conectar-se e selecionar dados da fonte de
dados conectada.

Carregando e modelando dados - Qlik Sense, 2.0.2

33

3 Carregando dados com o script de carga de dados


Editando uma conexo de dados ODBC
Faa o seguinte:

1. Clique em @ na conexo de dados ODBC que deseja editar.


A caixa de dilogo Editar conexo (ODBC) aberta.
2. Voc pode editar as seguintes propriedades:
Selecione a fonte de dados a ser usada na lista de fontes de dados disponveis, que pode ser DSN
de usurio ou DSN de sistema.
Nome do usurio
Senha
Nome
3. Clique em Salvar.
A conexo atualizada.

As configuraes da conexo que voc criou no sero atualizadas automaticamente se as


definies da fonte de dados forem alteradas. Isso significa que voc precisa ter cuidado ao
armazenar nomes de usurio e senhas, especialmente se alterar as configuraes entre a
segurana integrada do Windows e o logon do banco de dados no DSN.

Melhores prticas ao usar conexes de dados ODBC


Movendo aplicativos com conexes de dados do ODBC
Se um aplicativo for movido entre sites do Qlik Sense/instalaes doQlik Sense Desktop, as conexes de
dados sero includas. Se o aplicativo contiver conexes de dados do ODBC, necessrio verificar se as
fontes de dados do ODBCrelacionadas tambm existem na nova implantao. As fontes de dados do ODBC
precisam ser nomeadas e configuradas de forma idntica e apontar para os mesmos bancos de dados ou
arquivos.

Aspectos de segurana ao conectar-se com conexes de dados ODBC baseadas em arquivos


Conexes de dados ODBC usando unidades que se baseiam em arquivos exibiro o caminho ao arquivo de
dados conectados na string de conexo. O caminho pode ser exibido quando a conexo editada, na caixa
de dilogo de seleo de dados ou em certas consultas SQL.
Se for uma preocupao, recomenda-se conectar-se ao arquivo de dados usando uma pasta de conexo de
dados, se possvel.

Conexes de dados OLE DB


possvel criar uma conexo de dados para selecionar dados de uma fonte de dados do OLE DB.

Criando uma nova conexo de dados OLE DB


Faa o seguinte:

1. Clique em Criar nova conexo e selecione OLE DB.


2. Selecione Provedor na lista de provedores disponveis.

Carregando e modelando dados - Qlik Sense, 2.0.2

34

3 Carregando dados com o script de carga de dados


3. Digite o nome da Fonte de dados para se conectar. Esse pode ser um nome de servidor ou, em
alguns casos, o caminho para um arquivo de dados. Isso depende de qual provedor OLE DB voc
est usando.

Exemplo:
Se voc selecionou Microsoft Office 12.0 Access Database Engine OLE DB Provider, insira o nome
do arquivo do arquivo do banco de dados Access, incluindo o caminho do arquivo inteiro:
C:\Users\{user}\Documents\Qlik\Sense\Apps\Tutorial source files\Sales.accdb

Se a conexo fonte de dados falhar, uma mensagem de aviso exibida.


4. Selecione o tipo de credenciais que sero usadas, se necessrio:
l

Segurana integrada do Windows: Com esta opo voc usa as credenciais de Windows
existentes do usurio executando o servio Qlik Sense.
Nome de usurio especfico e senha: Com essa opo, voc precisa inserir o Nome de
usurio e a Senha.

Se a fonte de dados no solicitar credenciais, deixe o Nome de usurio e Senha vazios.

5. Se voc deseja testar a conexo, clique em Carregar e em seguida, em Selecionar banco de


dados... para usar para estabelecer conexes de dados.
Voc ainda poder usar todos os outros bancos de dados disponveis da fonte de dados
ao selecionar os dados da conexo de dados.
6. Se desejar usar um nome diferente do nome padro do provedor, edite Nome.
Voc no pode usar os seguintes caracteres no nome da conexo: \ / : * ? " ' < > |
7. Clique em Create.
O boto Create ser ativado apenas se os detalhes da conexo forem inseridos
corretamente e o teste de conexo automtica for bem-sucedido.

A conexo adicionada s Conexes de dados e voc pode conectar-se e selecionar dados da fonte de
dados OLE DB conectada caso a string de conexo seja inserida corretamente.

Editando uma conexo de dados OLE DB


Faa o seguinte:

1. Clique em @ na conexo de dados OLE DB que deseja editar.


A caixa de dilogo Editar conexo (OLE DB) aberta.
2. Voc pode editar as seguintes propriedades:

Carregando e modelando dados - Qlik Sense, 2.0.2

35

3 Carregando dados com o script de carga de dados


l

String de conexo (contm referncias ao Provedor e Fonte de dados)

Nome do usurio

Senha

Nome

3. Clique em Salvar.
A conexo atualizada.

Aspectos de segurana ao conectar-se com conexes de dados OLE DB baseadas em


arquivos
Conexes de dados OLE DB usando unidades baseadas em arquivos exibiro o caminho ao arquivo de
dados conectados na string de conexo. O caminho pode ser exibido quando a conexo editada, na caixa
de dilogo de seleo de dados ou em certas consultas SQL.
Se for uma preocupao, recomenda-se conectar-se ao arquivo de dados usando uma pasta de conexo de
dados, se possvel.

Conexes de dados de pasta


Voc pode criar uma conexo de dados para selecionar dados de arquivos em uma pasta, seja uma unidade
fsica ou uma unidade de rede compartilhada.
Em uma instalao de servidor do Qlik Sense, a pasta precisa ser acessvel no sistema que est executando
o mecanismo do Qlik Sense, isto , o usurio executando o servio do Qlik Sense. Se voc se conectar a
este sistema usando outro computador ou dispositivo de toque, no poder se conectar a uma pasta de
arquivos no dispositivo, a menos que ela possa ser acessada no sistema que est executando o mecanismo
do Qlik Sense.

Criando uma nova conexo de dados de pasta


Faa o seguinte:

1. Clique em Criar nova conexo e selecione Pasta.


O dilogo Criar nova conexo de dados (pasta) aberto. Quando voc instala o Qlik Sense, um
diretrio de trabalho criado, chamado C:\Users\{user}\Documents\Qlik\Sense\Apps. Esse o
diretrio padro selecionado no dilogo.

Se a opo Pasta no estiver disponvel, voc no tem direitos de acesso para


adicionar conexes de pasta. Entre em contato com seu administrador do sistema Qlik
Sense.
2. Insira o Caminho para a pasta que contm os arquivos de dados. Voc pode:
l

Selecionar a pasta

Digitar um caminho local vlido (exemplo: C:\data\MyData\)

Digitar um caminho UNC (exemplo: \\myserver\filedir\).

3. Insira o Nome da conexo de dados que voc deseja criar.


4. Clique em Criar.

Carregando e modelando dados - Qlik Sense, 2.0.2

36

3 Carregando dados com o script de carga de dados


A conexo adicionada s Conexes de dados, e voc pode conectar-se e selecionar dados dos arquivos
na pasta conectada.

Editando uma conexo de dados de pasta


Faa o seguinte:

1. Clique em @ na conexo de dados de pasta que deseja editar.


O dilogo Editar conexo (pasta) aberto.
Se @ for desativado, voc no tem direito de acesso para editar as conexes de
pasta. Entre em contato com seu administrador do sistema Qlik Sense.
2. Voc pode editar as seguintes propriedades:
Caminho
Nome
3. Clique em Salvar.
A conexo atualizada.

Conexes de dados de arquivo da Web


Voc pode criar uma conexo de dados para selecionar dados de arquivos que residem em um servidor da
Web, acessado por um endereo URL, geralmente em formato HTML ou XML.

Criar uma nova conexo de dados de arquivo da Web


Faa o seguinte:

1. Clique em Criar nova conexo e selecione Arquivo web.


A caixa de dilogo Selecione o arquivo Web aberta.
2. Insira a URL do arquivo da Web.
3. Insira o Nome da conexo de dados que voc deseja criar.
4. Clique em Criar.
A conexo adicionada s Conexes de dados e voc pode conectar-se e selecionar dados do arquivo da
Web.

Editando uma conexo de dados de arquivo da Web


Faa o seguinte:

1. Clique em @ na conexo de dados de arquivo da Web que deseja editar.


A caixa de dilogo Selecione o arquivo Web aberta.
2. Voc pode editar as seguintes propriedades:
URL
Nome
3. Clique em Salvar.
A conexo atualizada.

Carregando e modelando dados - Qlik Sense, 2.0.2

37

3 Carregando dados com o script de carga de dados


Carregando dados de arquivos
Qlik Sense pode ler dados de arquivos em vrios formatos:
l

Os arquivos de texto, nos quais os dados nos campos so separados por delimitadores como vrgulas,
tabulaes ou ponto e vrgula (arquivos variveis separados por vrgulas (CSV)).

tabelas HTML.

arquivos Excel (exceto arquivos Excel protegidos por senha).

arquivos XML

arquivos Qlik nativos QVD e QVX.

Arquivos de comprimento de registro fixo.

arquivos DIF (Data Interchange Format). arquivos DIF s podem ser carregados com o editor de
carga de dados).

Na maioria dos casos, a primeira linha do arquivo tem os nomes de campo.


Existem vrias maneiras de carregar dados de arquivos:
l

Adicionar dados

Selecionando dados de uma conexo de dados

Carregando dados de um arquivo escrevendo um cdigo de script

Selecionando dados de uma conexo de dados


Em vez de digitar o comando manualmente no editor da carga de dados, voc pode utilizar o dilogo
Selecionar dados para selecionar os arquivos a carregar. Faa o seguinte:

1. Abra o editor da carga de dados.


2. Crie uma conexo de dados de Diretrio, caso no ainda no tenha uma. A conexo de dados deve
apontar para o diretrio que contm o arquivo de dados que voc deseja carregar.
3. Clique em na conexo de dados para abrir o dilogo de seleo de dados.
Agora voc pode selecionar dados do arquivo e inserir o cdigo de script necessrio para carregar os dados.

Voc tambm pode usar a interface ODBC para carregar um arquivo do Microsoft Excel como
fonte de dados. Nesse caso, voc precisa criar uma conexo de dados ODBC e no uma
conexo de dados de Diretrio.

Carregando dados de um arquivo escrevendo um cdigo de script


Os arquivos so carregados utilizando um comando LOAD no script. Os comandos LOAD podem incluir o
conjunto completo de expresses de script.
Para ler dados de outro aplicativo Qlik Sense, voc pode usar um comando Binary.

Exemplo:
directory c:\databases\common;
LOAD * from TABLE1.CSV (ansi, txt, delimiter is ',', embedded labels);

Carregando e modelando dados - Qlik Sense, 2.0.2

38

3 Carregando dados com o script de carga de dados


LOAD fieldx, fieldy from TABLE2.CSV (ansi, txt, delimiter is ',', embedded labels);

Como preparar arquivos do Excel para o carga com o Qlik Sense


Caso deseje carregar arquivos do Microsoft Excel no Qlik Sense, existem muitas funes que podem ser
usadas para transformar e limpar seus dados no script de carga de dados, mas pode ser mais conveniente
preparar os dados de origem diretamente no arquivo de planilha do Microsoft Excel. Essa seo fornece
algumas dicas para ajud-lo a preparar sua planilha para o carregamento no Qlik Sense com o mnimo
necessrio de codificao de script.

Use cabealhos de coluna


Se voc usar cabealhos de coluna no Excel, eles sero automaticamente usados como nomes de campos,
se voc selecionar Nomes de campo incorporados durante a seleo de dados no Qlik Sense.
Recomenda-se tambm que voc evite quebras de linha nos rtulos e que coloque o cabealho como a
primeira linha da pasta.

Formate seus dados


Ser mais fcil carregar um arquivo de Excel no Qlik Sense se o contedo estiver organizado como dados
brutos em uma tabela. prefervel evitar o seguinte:
l

Agregados, tais como somas ou contas. Agregados podem ser definidos e calculados no Qlik Sense.

Cabealhos em duplicata.

l
l

Informaes extra que no faam parte dos dados, tais como comentrios. O melhor deixar para os
comentrios uma coluna que voc possa pular facilmente ao carregar o arquivo no Qlik Sense.
Layout de dados de tabela cruzada. Se, por exemplo, houver uma coluna para cada ms, voc
dever, em vez disso, possuir uma coluna chamada "Ms" e escrever os mesmos dados em 12 linhas,
uma linha por ms. Assim, voc ser capaz de exibi-la em formato de tabela cruzada no Qlik Sense.
Cabealhos intermedirios, por exemplo, uma linha contendo "Departamento A" seguida por linhas
referentes ao Departamento A. Em vez disso, voc dever criar uma coluna chamada
"Departamento" e preenche-la com os nomes de departamento apropriados.
Clulas mescladas. Em vez disso, liste o valor de cada clula.
Clulas em branco nas quais o valor determinado por um valor acima e anterior. Voc precisar
preencher os espaos em branco nos quais h um valor repetido, para fazer com que todas as clulas
contenham um valor de dados.

Use reas nomeadas


Se voc quiser ler apenas uma parte de uma pasta, poder selecionar uma rea das colunas e linhas e
defini-la como uma rea nomeada no Excel. O Qlik Sense pode carregar dados de reas nomeadas, assim
como de pastas.
Normalmente, voc pode definir os dados brutos como uma rea nomeada, e manter todos os comentrios e
legendas adicionais fora da rea nomeada. O que facilitar o carregamento de dados no Qlik Sense.

Remova a proteo de senha


Arquivos protegidos por senhas no so suportados pelo Qlik Sense.

Carregando e modelando dados - Qlik Sense, 2.0.2

39

3 Carregando dados com o script de carga de dados


Carregando dados de bancos de dados
Voc pode carregar dados de sistemas de banco de dados comerciais no Qlik Sense por meio dos seguintes
conectores:
l

Conectores padro usando a interface Microsoft ODBC ou OLE DB. Para usar o ODBC, voc deve
instalar um driver que oferea suporte ao seu DBMS e configurar o banco de dados como uma fonte
de dados ODBC em Administrador da fonte de dados ODBC no Painel de controle do
Windows.
Conectores personalizados, desenvolvidos especificamente para carregar dados do DBMS no Qlik
Sense.

Carregando dados de um banco de dados ODBC


A maneira mais fcil de comear a carregar os dados de um banco de dados, como o Microsoft Access ou
qualquer outro banco de dados que possa ser acessado por meio de uma fonte de dados ODBC, usando o
dilogo de seleo de dados no editor da carga de dados.
Para fazer isso, faa o seguinte:

1. Voc precisa ter uma fonte de dados ODBC para o banco de dados que deseja acessar. Isso
configurado no Administrador da fonte de dados ODBC no Painel de controle do Windows. Se
voc ainda no o fez, voc precisa adicion-lo e configur-lo por exemplo, apontando para um
banco de dados Microsoft Access.
2. Abra o editor da carga de dados.
3. Crie uma conexo de dados ODBC apontando para a conexo ODBC mencionada na etapa 1.
4. Clique em na conexo de dados para abrir o dilogo de seleo de dados.
Agora voc pode selecionar dados do banco de dados e inserir o cdigo de script necessrio para carregar os
dados.

ODBC
Para acessar DBMS (DataBase Management System) via ODBC, necessrio ter instalado um driver
ODBC para o DBMS em questo. A alternativa exportar os dados do banco de dados para um arquivo que
possa ser lido Qlik Sense.
Geralmente, alguns drivers ODBC so instalados juntamente com o sistema operacional. possvel
comprar drivers adicionais de revendedores de software localizados na Internet ou entregues pelo fabricante
do (DBMS). Alguns drivers so redistribudos gratuitamente.
A interface ODBC descrita aqui a interface no computador cliente. Se o objetivo usar o ODBC para
acessar um banco de dados relacional multiusurio em um servidor de rede, talvez seja necessrio um
software DBMS adicional que permita a um cliente acessar o banco de dados no servidor. Entre em contato
com o fornecedor do DBMS para obter mais informaes sobre o software necessrio.

Adicionando drivers ODBC


O driver ODBC para seu DBMS(DataBase Management System) deve ser instalado para que o Qlik Sense
possa acessar seu banco de dados. Consulte a documentao do DBMS que voc est usando para obter
mais detalhes.

Carregando e modelando dados - Qlik Sense, 2.0.2

40

3 Carregando dados com o script de carga de dados


Verses de 64 bits e 32 bits da configurao do ODBC
A verso de 64 bits do sistema operacional Microsoft Windows inclui as seguintes verses da ferramenta
Microsoft Open DataBase Connectivity (ODBC)Data Source Administrator (Odbcad32.exe):
l

A verso de 32 bits do arquivo Odbcad32.exe est localizada na pasta

%systemdrive%\Windows\SysWOW64.
l

A verso de 64 bits do arquivo Odbcad32.exe est localizada na pasta

%systemdrive%\Windows\System32.
Criando fontes de dados ODBC
preciso criar uma fonte de dados ODBC para o banco de dados que voc deseja acessar. Isso pode ser
feito durante a instalao do ODBC ou em uma etapa posterior.

Antes de iniciar a criao de fontes de dados, preciso decidir se as fontes de dados devem
ser DSN de usurio ou DSN do sistema (recomendado). Voc s pode alcanar fontes de
dados de usurio com as credenciais de usurio corretas. Em um servidor de instalao, voc
precisa tipicamente criar uma fonte de dados do sistema para conseguir compartilhar as fontes
de dados com outros usurios.
Faa o seguinte:

1. Abra o Odbcad32.exe.
2. V para a guia DSN do sistema para criar uma fonte de dados do sistema.
3. Clique em Adicionar.
A caixa de dilogo Criar nova fonte de dados exibida, mostrando uma lista de drivers ODBC
instalados.

4. Se o driver ODBC correto estiver listado, selecione-o e clique em Terminar.


Uma caixa de dilogo especfica do driver de banco de dados selecionado aparece.

5. Nomeie a fonte de dados e defina os parmetros necessrios.


6. Clique em OK.

OLE DB
O Qlik Sense suporta a interface OLE DB(Object Linking and Embedding, Database) para conexo com
fontes de dados externas. Um grande nmero de bancos de dados externos pode ser acessado por meio do
OLE DB.

Lgica nas bases de dados


Vrias tabelas de um aplicativo de banco de dados podem ser includas simultaneamente na lgica do Qlik
Sense. Quando um campo existir em mais de uma tabela, as tabelas sero vinculadas logicamente por meio
desse campo-chave.
Quando um valor selecionado, todos os valores compatveis com a(s) seleo(es) so mostrados como
opcionais. Todos os outros valores so mostrados como excludos.
Se forem selecionados valores de vrios campos, assume-se um AND lgico.

Carregando e modelando dados - Qlik Sense, 2.0.2

41

3 Carregando dados com o script de carga de dados


Se forem selecionados vrios valores do mesmo campo, assume-se um OR lgico.
Em alguns casos, as selees em um campo podem ser definidas como AND lgico.

Selecionar dados para carregar


Voc pode selecionar os campos para carregar por meio de arquivos ou de tabelas de banco de dados, e as
visualizaes desejadas da fonte de dados, usando o dilogo interativo Selecionar dados. O dilogo
mostra diferentes opes de seleo ou transformao dependendo do tipo de arquivo ou banco de dados
que voc usa como fonte de dados. Alm de selecionar os campos, voc tambm pode renome-los na caixa
de dilogo. Quando voc terminar de selecionar os campos, possvel inserir o cdigo de script gerado para
o seu script.
Abra Selecionar dados, clicando em em uma conexo de dados no editor da carga de dados.

Selecionando dados de um banco de dados


Para selecionar dados de um banco de dados, comece clicando em em uma conexo de dados ODBC
ou OLE DB no editor da carga de dados. Aqui, voc seleciona os campos para carregar a partir das tabelas
de banco de dados ou visualizaes da fonte de dados. Voc pode selecionar os campos de vrios bancos de
dados, tabelas e visualizaes em uma sesso.

Selecionando o banco de dados


Faa o seguinte:

1. Selecione um Banco de dados na lista suspensa.


2. Selecione o Proprietrio do banco de dados.
A lista de Tabelas preenchida com visualizaes e tabelas disponveis no banco de dados selecionado.

Selecionando tabelas e visualizaes


A lista da tabela inclui tabelas, visualizaes, sinnimos, tabelas do sistema e aliases do banco de dados.
Se voc quiser selecionar todos os campos de uma tabela, faa o seguinte:
l

Marque a caixa de seleo ao lado do nome da tabela.

Se voc quiser selecionar campos especficos de uma Tabela, faa o seguinte:


l

Clique no nome da tabela (no na caixa de seleo).


Os Campos sero atualizados com o contedo da tabela disponvel e voc pode continuar
selecionando campos.

As tabelas com todos os campos selecionados so indicadas com a caixa de seleo marcada. J as tabelas
com alguns campos selecionados so indicadas por um quadrado azul na caixa de seleo e o nmero de
campos selecionados direita.

Selecionando campos
Campos lista todos os campos disponveis na Tabela selecionada. Voc pode Filtrar os campos na lista,
digitando parte do nome do campo na caixa de texto.

Carregando e modelando dados - Qlik Sense, 2.0.2

42

3 Carregando dados com o script de carga de dados


Voc pode exibir os campos em uma das seguintes visualizaes:
l

Visualizao de dados, que apresenta os dados no layout de coluna horizontal e visualiza os dados

carregados. Os campos de chave primrios so indicados por .


Metadados, que apresenta os dados em um layout de lista vertical com os metadados de campo
exibidos, como chaves primrias e tipo de dados.

Faa o seguinte:
l

Selecione os campos que deseja incluir usando a caixa de seleo ao lado de cada nome de campo.

Depois de selecionar os campos a serem includos na tabela, voc pode continuar selecionando os campos
de outras tabelas no mesmo banco de dados ou escolher um outro banco de dados e selecionar tabelas e
campos do banco de dados.

Resumo das selees fornece uma viso geral dos bancos de dados que voc selecionou e o nmero de
tabelas e campos selecionados.

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los (em cada arquivo) para terem
nomes idnticos e carreg-los como um campo.

No possvel renomear campos no assistente de seleo de dados ao mesmo tempo em que


voc filtra os campos pesquisando. Voc tem primeiro que apagar a string de pesquisa na
caixa de texto.

No possvel renomear dois campos na mesma tabela para que eles tenham nomes
idnticos.
Faa o seguinte:
l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada.

Renomear um campo corresponde a usar as em uma definio de campo de um comando


LOAD.

Carregando e modelando dados - Qlik Sense, 2.0.2

43

3 Carregando dados com o script de carga de dados


Se voc renomear campos em uma tabela, um comando LOAD ser inserido
automaticamente, independentemente da configurao Incluir comando LOAD.

Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Incluindo o comando LOAD


Se Incluir o comando LOAD estiver selecionado, os comandos SELECT so gerados com os comandos
LOAD precedentes usando os comandos SELECT como entrada.

Se voc renomear campos em uma tabela, um comando LOAD ser inserido


automaticamente, independentemente dessa configurao.

Inserindo no script
Ao terminar de selecionar os campos, faa o seguinte para gerar os comandos LOAD/ SELECT no script:
l

Clique em Inserir script.

A janela de seleo de dados fechada e os comandos LOAD /SELECT so inseridos no script de acordo
com suas selees.

Selecionando dados de um arquivo de tabela delimitado


Voc pode carregar os dados de um arquivo de tabela delimitado em formatos como CSV, TXT, TAB, PRN,
MEM ou SKV ou arquivos com smbolos delimitadores personalizados. Depois de selecionar os campos,
possvel inserir o cdigo de script necessrio para carregar os campos no script.
Para comear a selecionar os dados, faa o seguinte:

1. Clique em na conexo de dados de pasta no editor da carga de dados.


2. Selecione o arquivo na lista suspensa de arquivos disponveis na pasta e clique em Selecionar.
O dilogo de seleo exibido com a rea Campos atualizada com os dados de visualizao.

Configurando as opes do arquivo


Os dados de visualizao so formatados usando as configuraes derivadas de seu arquivo, mas pode ser
necessrio ajustar as opes do arquivo conforme o objetivo:

Formato do
arquivo

Configure como Delimitado ou Registro fixo.


Ao fazer uma seleo, o dilogo de seleo de dados se adapta ao formato de arquivo
selecionado.

Carregando e modelando dados - Qlik Sense, 2.0.2

44

3 Carregando dados com o script de carga de dados


Nomes do

Configure para especificar se a tabela contm os Nomes de campo incorporados ou

campo

Nenhum nome de campo.

Delimiter

Configure o caractere Delimitador usado em seu arquivo de tabela.

Entre aspas

Defina a especificao de como lidar com citaes:

Nenhuma = aspas no so aceitas


Padro = citao padro (aspas podem ser usadas como primeiro e ltimo caracteres
de um valor de campo)
MSQ = aspas de estilo moderno (permite contedo em vrias linhas em campos)
Tamanho do

Configure o nmero de linhas para omitir como cabealho da tabela.

cabealho
Conjunto de

Configure como o conjunto de caracteres usado no arquivo de tabela.

caracteres
Comentrio

Os arquivos de dados podem conter comentrios entre registros, denotados comeando


uma linha com um ou mais caracteres especiais, como //.
Especifique um ou mais caracteres para denotar uma linha de comentrio. O Qlik Sense
no carrega as linhas que comearem pelo(s) caractere(s) especificado(s) aqui.

Ignorar fim

Selecione Ignorar EOF se os dados contiverem caracteres de final de arquivo como

do arquivo

parte do valor do campo.

(EOF)
Os dados de visualizao so formatados de acordo com as opes que voc definiu.

Selecionando campos
Campos lista todos os campos disponveis para selecionar. Voc pode fazer um dos seguintes
procedimentos:
l

Selecione os campos a serem includos usando a caixa de seleo ao lado de cada nome de campo.

Selecione todos os campos usando a caixa de verificao Selecionar todos os campos.

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los (em cada arquivo) para terem
nomes idnticos e carreg-los como um campo.

Faa o seguinte:

Carregando e modelando dados - Qlik Sense, 2.0.2

45

3 Carregando dados com o script de carga de dados


l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada.

Renomear um campo corresponde a usar as em uma definio de campo de um comando


LOAD.

Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Inserindo o script
Ao terminar de selecionar os campos, faa o seguinte para gerar os comandos LOAD/ SELECT no script:
l

Clique em Inserir script.

A janela Selecionar dados de fechada e os comandos LOAD so inseridos no script de acordo com suas
selees.

Selecionando dados de um arquivo do Microsoft Excel


possvel carregar dados de um arquivo do Microsoft Excel selecionado. Depois de selecionar os campos,
possvel inserir o cdigo de script necessrio para carregar os campos no script.
Para comear a selecionar os dados, faa o seguinte:

1. Clique em no conector de dados de uma Pasta no editor da carga de dados.


2. Selecione o arquivo na lista suspensa de arquivos disponveis na pasta e clique em Selecionar.
Selecionar dados de exibido e a lista de Pastas preenchida com as pastas e reas de nomes
disponveis no arquivo do Microsoft Excel selecionado.

Voc tambm pode usar um arquivo do Microsoft Excel como fonte de dados usando a
interface ODBC. Nesse caso, voc precisa criar uma conexo de dados ODBC e no uma
conexo de dados de Pasta.

Selecionando tabelas
A lista de Tabelas inclui todas essas pastas e reas de nome do arquivo do Microsoft Excel selecionado.
Se voc quiser selecionar todos os campos de uma tabela, faa o seguinte:
l

Marque a caixa ao lado do nome da tabela.

Se voc quiser selecionar campos especficos de uma tabela, faa o seguinte:

Carregando e modelando dados - Qlik Sense, 2.0.2

46

3 Carregando dados com o script de carga de dados


l

Clique no nome da tabela (no na caixa de verificao).


Os Campos sero atualizados com o contedo da tabela disponvel e voc pode selecionar os
campos necessrios.

As tabelas com todas as colunas selecionadas so indicadas com a caixa de verificao marcada e as
tabelas com alguns campos selecionados so indicadas por um quadrado na caixa de verificao e o nmero
de campos selecionados direita do nome da tabela.

Selecionando campos
Campos lista todos os campos disponveis na Tabela selecionada. Pode ser necessrio especificar as
seguintes configuraes:
Nomes do

Configure para especificar se a tabela contm os Nomes de campo incorporados ou

campo

Nenhum nome de campo.

Tamanho do

Configure o nmero de linhas para omitir como cabealho da tabela.

cabealho
Faa o seguinte:
l

Selecione os campos para incluir usando a caixa de seleo ao lado de cada nome de campo.

Depois de selecionar os campos a serem includos na tabela, possvel continuar selecionando os campos
de outras tabelas no mesmo arquivo.

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los (em cada arquivo) para terem
nomes idnticos e carreg-los como um campo.

Faa o seguinte:
l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada se o campo for selecionado.

Renomear um campo corresponde a usar as em uma definio de campo de um comando


LOAD.

Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Carregando e modelando dados - Qlik Sense, 2.0.2

47

3 Carregando dados com o script de carga de dados


Inserindo o script
Ao terminar de selecionar os campos faa o seguinte para gerar os comandos LOAD/ SELECT no script:
l

Clique em Inserir script.

A janela Selecionar dados de fechada e os comandos LOAD so inseridos no script de acordo com suas
selees.

Selecionando dados de um arquivo de tabela de registro fixo


possvel selecionar dados de arquivos de dados de registro fixo, na qual cada registro (linha de dados)
contm um nmero de colunas com um tamanho de campo fixo, geralmente preenchido com espaos ou
caracteres de tabulao.

Exemplo: Arquivo de tabela de registro fixo


Item

Id

Price

Watch

001

2.75

Ball

002

3.25

Para selecionar dados de um arquivo de registro fixo, faa o seguinte:

1. Clique em em uma conexo de dados de Pasta no editor da carga de dados.


2. Selecione o arquivo na lista suspensa de arquivos disponveis na pasta e clique em Selecionar.
Selecionar dados de exibido, com a rea Campos atualizada com os dados de visualizao.
3. Defina o Formato de arquivo como Registro Fixo.
Os dados visualizados se adaptaro ao formato do registro fixo.

Configurando as opes do arquivo


Os dados de visualizao so formatados usando as configuraes derivadas de seu arquivo, mas pode ser
necessrio ajustar as opes do arquivo conforme o objetivo:

Nomes do campo

Configure para especificar se a tabela contm os Nomes de campo

incorporados ou Nenhum nome de campo.


Tamanho do

Configure Tamanho do cabealho como o nmero de linhas para omitir como

cabealho

cabealho da tabela.

Conjunto de

Configure para o conjunto de caracteres usado no arquivo de tabela.

caracteres
Tamanho da guia

Configure o nmero de espaos que um caractere tab representa no arquivo de


tabela.

Tamanho de linha

Configure o nmero de linhas que um registro ocupa no arquivo de tabela. O


padro 1.

do registro

Os dados de visualizao so formatados de acordo com as opes que voc definiu.

Carregando e modelando dados - Qlik Sense, 2.0.2

48

3 Carregando dados com o script de carga de dados


Configurando as posies de interrupo de campo
Voc pode definir as posies de interrupo de campo de duas maneiras diferentes:
l

Insira manualmente as posies de interrupo de campo separadas por vrgulas, em Posies de

interrupo de campo. Cada posio marca o incio de um campo.


Exemplo: 1,12,24
l

Ative Interrupes de campo para editar as posies de interrupo de campo interativamente, na


visualizao dos dados do campo. A rea Posies de interrupo de campo atualizada com as
posies selecionadas. Voc pode:
l

Clicar na visualizao de dados de campo para inserir uma interrupo de campo.

Clicar em uma interrupo de campo para exclu-la.

Clicar em uma interrupo de campo para mov-la.

Selecionando campos
Campos lista todos os campos disponveis para selecionar. Voc pode fazer um dos seguintes
procedimentos:
l

Selecione os campos para incluir usando a caixa de seleo ao lado de cada nome de campo.

Selecionar todos os campos

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los (em cada arquivo) para terem
nomes idnticos e carreg-los como um campo.

Faa o seguinte:
l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada.

Renomear um campo corresponde a usar as em uma definio de campo de um comando


LOAD.

Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Inserindo o script
Ao terminar de selecionar os campos, faa o seguinte para gerar os comandos LOAD/ SELECT no script:

Carregando e modelando dados - Qlik Sense, 2.0.2

49

3 Carregando dados com o script de carga de dados


l

Clique em Inserir script.

A janela Selecionar dados de fechada e os comandos LOAD so inseridos no script de acordo com suas
selees.

Selecionando dados de um arquivo QVD ou QVX


possvel carregar dados de arquivos QVD criados pelo Qlik Sense e arquivos QVX criados por um conector
personalizado. Ao selecionar os campos que sero carregados, possvel inserir o cdigo de script
necessrio para carregar os campos no script.
Para selecionar os dados, faa o seguinte:

1. Clique em em uma conexo de dados de Pasta no editor da carga de dados.


2. Selecione um arquivo QVD ou QVX na lista suspensa de arquivos disponveis na pasta e clique em
Selecionar.
Selecionar dados de exibido, com a rea Campos atualizada com os dados de visualizao.

Selecionando campos
Campos lista todos os campos disponveis para selecionar. Voc pode:
l

Selecionar os campos a serem includos marcando a caixa de seleo ao lado de cada nome de
campo.
Clicar em Selecionar todos os campos

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los (em cada arquivo) para terem
nomes idnticos e carreg-los como um campo.

Faa o seguinte:
l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada.

Renomear um campo corresponde a usar as em uma definio de campo de um comando


LOAD.

Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Carregando e modelando dados - Qlik Sense, 2.0.2

50

3 Carregando dados com o script de carga de dados


Inserindo o script
Ao terminar de selecionar os campos faa o seguinte para gerar os comandos LOAD no script:
l

Clique em Inserir script.

A janela Selecionar dados de fechada e os comandos LOAD so inseridos no script de acordo com suas
selees.

Selecionando dados de um arquivo HTML


Voc pode carregar dados de tabelas em arquivos HTML, isto , tabelas que so codificadas com o
elemento <TABLE>.
O dilogo Selecionar dados de aberto quando voc clica em em uma conexo de Pasta ou Arquivo
da Web no editor da carga de dados. Aqui, voc seleciona os campos para carregar a partir das tabelas do
arquivo HTML. Voc pode selecionar os campos de vrias tabelas.

Selecionando tabelas
Tabelas lista todas as tabelas no arquivo HTML.
Se voc quiser selecionar todos os campos de uma tabela, faa o seguinte:
l

Marque a caixa de seleo ao lado do nome da tabela.

Se quiser selecionar campos especficos de uma tabela, faa o seguinte:


l

Clique no nome da tabela (no na caixa de seleo).


Os Campos sero atualizados com o contedo da tabela disponvel e voc pode continuar
selecionando campos.

As tabelas com todos os campos selecionados so indicadas com a caixa de seleo marcada, enquanto
tabelas com alguns campos selecionados so indicadas por um quadrado na caixa de seleo e o nmero de
campos selecionados direita.

Selecionando campos
Campos lista todos os campos disponveis na Tabela selecionada. Voc pode Filtrar os campos na lista,
digitando parte do nome do campo na caixa de texto.

No possvel renomear campos no assistente de seleo de dados ao mesmo tempo em que


voc filtra os campos pesquisando. Voc tem primeiro que apagar a string de pesquisa na
caixa de texto.

No possvel renomear dois campos na mesma tabela para que eles tenham nomes
idnticos.
Pode ser necessrio especificar as seguintes configuraes:

Carregando e modelando dados - Qlik Sense, 2.0.2

51

3 Carregando dados com o script de carga de dados


Nomes do campo

Configure para especificar se a tabela contm os Nomes de campo

incorporados ou Nenhum nome de campo.


Conjunto de

Configure o conjunto de caracteres usado no arquivo de tabela.

caracteres
Faa o seguinte:
l

Selecionar os campos a serem includos marcando a caixa de seleo ao lado de cada nome de
campo.

Depois de selecionar os campos a serem includos na tabela, possvel continuar selecionando os campos
de outras tabelas no mesmo arquivo.

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los (em cada arquivo) para terem
nomes idnticos e carreg-los como um campo.

No possvel renomear campos no assistente de seleo de dados ao mesmo tempo em que


voc filtra os campos pesquisando. Voc tem primeiro que apagar a string de pesquisa na
caixa de texto.

No possvel renomear dois campos na mesma tabela para que eles tenham nomes
idnticos.
Faa o seguinte:
l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada.

Renomear um campo corresponde a usar as em uma definio de campo de um comando


LOAD.

Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Carregando e modelando dados - Qlik Sense, 2.0.2

52

3 Carregando dados com o script de carga de dados


Inserindo o script
Ao terminar de selecionar os campos faa o seguinte para gerar os comandos LOAD no script:
l

Clique em Inserir script.

A janela Selecionar dados de fechada e os comandos LOAD so inseridos no script de acordo com suas
selees.

Selecionando dados de um arquivo XML


Voc pode carregar os dados armazenados no formato XML.
Faa o seguinte:

1. Clique em em uma conexo de dados de Pasta ou Arquivo da Web no editor da carga de


dados.
2. Selecione o arquivo XML do qual deseja carregar os dados.
O dilogo Selecionar dados de exibido, com a rea Campos atualizada com os dados de visualizao.
Aqui, voc seleciona os campos a serem carregados por meio das tabelas do arquivo. Voc pode selecionar
os campos de vrias tabelas.

Selecionando tabelas e campos


Tabelas lista todas as tabelas disponveis para selecionar. Quando voc seleciona uma tabela, a rea
Campos atualizada com os campos disponveis. Por padro, todos os dados so selecionados.
l

Se voc quiser excluir uma tabela ou um campo, marque a caixa de seleo ao lado do respectivo
nome.

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los (em cada arquivo) para terem
nomes idnticos e carreg-los como um campo.

Faa o seguinte:
l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada quando voc seleciona outro item.

Renomear um campo corresponde a usar as em uma definio de campo de um comando


LOAD.

Carregando e modelando dados - Qlik Sense, 2.0.2

53

3 Carregando dados com o script de carga de dados


Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Inserindo o script
Ao terminar de selecionar os campos faa o seguinte para gerar os comandos LOAD no script:
l

Clique em Inserir script.

A janela Selecionar dados de fechada e os comandos LOAD so inseridos no script de acordo com suas
selees.

Selecionando dados de um arquivo KML


Voc pode carregar dados geogrficos que esto armazenados no formato KML para usar ao criar uma
visualizao de mapa.
Faa o seguinte:

1. Clique em em uma conexo de dados de Pasta ou Arquivo da Web no editor da carga de


dados.
2. Selecione o arquivo KML do qual deseja carregar os dados.
O dilogo Selecionar dados de exibido, com a rea Campos atualizada com os dados de visualizao.
Aqui, voc seleciona os campos a serem carregados por meio das tabelas do arquivo. Voc pode selecionar
os campos de vrias tabelas.

Selecionando tabelas e campos


Tabelas lista todas as tabelas disponveis para selecionar. Quando voc seleciona uma tabela, a rea
Campos atualizada com os campos disponveis. Por padro, todos os dados so selecionados.
l

Se voc quiser excluir uma tabela ou um campo, marque a caixa de seleo ao lado do respectivo
nome.

Renomeando campos
Voc pode renomear campos. Isso particularmente til nos dois casos a seguir:
l

Se voc carregar dois arquivos que contenham um campo com o mesmo nome, eles sero vinculados
e tratados por padro como um campo no Qlik Sense. Se voc quiser carreg-los como campos
separados, renomeie os campos para ficarem diferentes.
Se voc carregar dois arquivos contendo um campo que deve ser lido como um campo, mas que tem
nomes diferentes nos respectivos arquivos, voc pode renome-los para terem nomes idnticos e
carreg-los como um campo.

Faa o seguinte:
l

Clique no cabealho do campo que deseja renomear, digite o novo nome e pressione Enter.

O campo renomeado e a visualizao do script atualizada quando voc seleciona outro item.

Carregando e modelando dados - Qlik Sense, 2.0.2

54

3 Carregando dados com o script de carga de dados


Renomear um campo corresponde a usar as em uma definio de campo de um comando
LOAD.

Visualizando o script
Os comandos que sero inseridos so exibidos na visualizao de script, que voc pode ocultar clicando em
Visualizar script.

Inserindo o script
Ao terminar de selecionar os campos faa o seguinte para gerar os comandos LOAD no script:
l

Clique em Inserir script.

A janela Selecionar dados de fechada e os comandos LOAD so inseridos no script de acordo com suas
selees.

Editar o script de carga de dados


O cdigo de script escrito no editor de texto do editor de carga de dados. Aqui, possvel fazer alteraes
manuais nos comandos LOAD/ SELECT gerados com as pop-ups de seleo de dados e digitar o novo
script.
O script, que deve ser escrito usando a sintaxe de script do Qlik Sense, codificado por cores para facilitar a
distino dos diferentes elementos. Os comentrios so destacados em verde e as palavras-chave da
sintaxe do Qlik Sense so destacadas em azul. Cada linha do script numerada.
Existem vrias funes disponveis no editor para ajud-lo a desenvolver o script de carga:

Ajuda de sintaxe
detalhada

Existem duas maneiras de acessar a ajuda de sintaxe detalhada para uma


palavra-chave de sintaxe do Qlik Sense:
l

Clique em D na barra de ferramentas para entrar no modo de ajuda


de sintaxe. No modo de ajuda da sintaxe, voc pode clicar em uma
palavra-chave de sintaxe (marcada em azul e sublinhada) no editor
para acessar a ajuda detalhada de sintaxe.

Voc no pode editar o script no modo de ajuda de


sintaxe.

Coloque o cursor dentro ou no final de uma palavra-chave e pressione


Ctrl+H.

Carregando e modelando dados - Qlik Sense, 2.0.2

55

3 Carregando dados com o script de carga de dados


Concluso automtica

Se voc comear a digitar uma palavra-chave do script do Qlik Sense, voc


receber uma lista de concluso automtica com palavras-chave
correspondentes para escolher. A lista reduzida medida que voc continua
escrevendo. Por exemplo, digitems.
Faa o seguinte:
l

Selecione uma palavra-chave na lista clicando nela ou pressionando


Enter.

Dicas de ferramenta

Quando voc digita um parntese aberto depois de uma funo de script do


Qlik Sense, uma dica de ferramenta exibe a sintaxe da funo, incluindo
parmetros, tipos de valor de retorno e comandos adicionais.

Script de teste

Voc pode inserir um script de teste preparado, que carregar um conjunto de


campos de dados em linha. Voc pode us-lo para criar de forma rpida um
conjunto de dados para fins de teste.

preparado

Faa o seguinte:
l

Pressione Ctrl+00

O cdigo do script de teste inserido no script.

Identao do cdigo

Voc pode identar o cdigo para aumentar a legibilidade.


Faa o seguinte:

1. Selecione uma ou vrias linhas para alterar a identao.


2. Clique em para identar o texto (aumentar a identao) ou clique
em para recuar o texto (diminuir a identao).
Voc tambm pode usar os atalhos de teclado:
Tab (identar)
Shift + Tab (diminuir a identao)
Pesquisar e substituir

Voc pode pesquisar e substituir texto em todas as sees do script.


Clique em F na barra de ferramentas para abrir o painel Pesquisar e
substituir.

Selecionando todo o
cdigo

Voc pode selecionar todo o cdigo na seo do script atual.


Faa o seguinte:
l

Pressionar Ctrl+A

Todo o cdigo de script na seo atual selecionado.

Carregando e modelando dados - Qlik Sense, 2.0.2

56

3 Carregando dados com o script de carga de dados


Organizando o cdigo de script
Voc pode dividir o seu script em sees para organizar a estrutura. O script executado na ordem das
sees de cima para baixo. O script deve conter pelo menos uma seo.

Criando uma nova seo de script


Voc pode inserir novas sees de script para organizar seu cdigo.
Faa o seguinte:
l

Clique em P.

A nova seo inserida aps a seo selecionada.

Excluindo uma seo de script


Voc pode excluir uma seo de script, incluindo todos os cdigos da seo.

A excluso de uma seo de script no pode ser desfeita.


Faa o seguinte:
l

Clique em E ao lado da guia da seo para exclu-la. Voc precisa confirmar a excluso.
A seo agora excluda.

Renomeando uma seo de script


Voc pode renomear uma seo de script.
Faa o seguinte:

1. Clique no nome da seo e digite para editar o nome.


2. Pressione Enter ou clique fora da seo quando terminar.
A seo renomeada.

Reorganizando sees de script


Voc pode reorganizar a ordem das sees para alterar a ordem de execuo do script.
Faa o seguinte:

Carregando e modelando dados - Qlik Sense, 2.0.2

57

3 Carregando dados com o script de carga de dados


1. Selecione a seo que deseja mover.
2. Coloque o cursor nas barras de rolagem o e arraste a seo para reorganizar a ordem.
As sees so reorganizadas.

Comentando no script
Voc pode inserir comentrios e observaes no cdigo de script, ou desativar partes do cdigo de script
usando marcas de comentrio. Todo o texto em uma linha que segue direita de // (duas barras) ser
considerado um comentrio e no ser executado quando o script for executado.
A barra de ferramentas do editor da carga de dados contm um atalho do cdigo para comentar ou remover
o comentrio. A funo funciona como uma alternncia, ento se o cdigo selecionado no for comentado
ele ser comentado e vice-versa.

Comentando
Faa o seguinte:

1. Selecione uma ou mais linhas de cdigo que no estejam comentadas ou coloque o cursor no incio
de uma linha.
2. Clique em ou pressione Ctrl+K.
O cdigo selecionado agora est comentado.

Removendo o comentrio
Faa o seguinte:

1. Selecione uma ou mais linhas de cdigo que estejam comentadas ou coloque o cursor no incio de
uma linha comentada.
2. Clique em ou pressione Ctrl+K.
O cdigo selecionado no est comentado.

H mais maneiras de inserir comentrios no cdigo de script:


l

Usando o comando Rem.

Incluindo uma seo do cdigo entre /* e */ .

Exemplo:
Rem This is a comment ;
/* This is a comment
that spans two lines */
// This is a comment as well

Pesquisando no script de carregamento


Voc pode pesquisar e substituir texto em todas as sees do script.

Carregando e modelando dados - Qlik Sense, 2.0.2

58

3 Carregando dados com o script de carga de dados


Pesquisando
Abra o editor de carga de dados.Faa o seguinte:

1. Clique em F na barra de ferramentas.


O dilogo suspenso da pesquisa exibida.
2. Na caixa de pesquisa, digite o texto que deseja encontrar. Voc precisa digitar pelo menos dois
caracteres.
Os resultados da pesquisa so marcados na seo atual no cdigo de script. Alm disso, o nmero de
instncias de texto encontradas indicado ao lado do rtulo da seo.
3. Voc pode navegar pelos resultados clicando em e .
Clique em F na barra de ferramentas para fechar o dilogo de pesquisa.

Alm disso, voc pode selecionar Pesquisar em todas as sees para procurar em todas as
sees de script. O nmero de instncias de texto encontradas indicado ao lado do rtulo de
cada seo. A funo de pesquisa no diferencia maisculas de minsculas.

Substituindo
Faa o seguinte:

1. Clique em F na barra de ferramentas.


O dilogo suspenso da pesquisa exibida.
2. Digite o texto que deseja localizar na caixa de pesquisa.
3. Digite o texto de substituio na caixa substituir e clique em Substituir.
4. Clique em para encontrar prxima instncia do texto de pesquisa e escolha uma das seguintes
opes:
l

Clicar em Substituir para substituir o texto.

Clicar em para encontrar o prximo.

Clique em F na barra de ferramentas para fechar o dilogo de pesquisa.

Voc tambm pode clicar em Substituir tudo na seo para substituir todas as instncias do
texto de pesquisa na seo de script atual. A funo substituir diferencia maisculas de
minsculas, e o texto de substituio ter a letra inicial no campo substituir. Uma mensagem
exibida com informaes sobre quantas instncias foram substitudas.

Desbloqueando seo autogerada


Caso tenha adicionado dados no Gerenciador de dados, voc ter uma seo de script de carga de dados
denominada Seo autogerada que contm o cdigo de script necessrio para carregar os dados. O script
autogerado somente leitura, mas possvel desbloque-lo. Isso significa que voc tambm deve alternar
do Data management para o script de carga de dados para definir essa parte de seu modelo de dados. Isso
pode ser til quando voc precisa realizar operaes de dados mais complexas para gerar o modelo de dados
necessrio em seu aplicativo.

Carregando e modelando dados - Qlik Sense, 2.0.2

59

3 Carregando dados com o script de carga de dados


Quando tiver desbloqueado o script autogerado, voc no poder mais editar a seleo desses
dados usando o Gerenciador de dados. Se voc adicionar novos dados usando o
Gerenciador de dados, ser criada uma nova seo de script autogerado.
Faa o seguinte:

1. Selecione a seo denominada Seo autogerada.


2. Clique em Desbloquear.
Agora, voc pode editar todos os scripts de carga de dados para ajustar seu modelo de dados.

Recomendamos que voc renomeie a seo aps desbloque-la.

Salvando o script de carregamento


Ao salvar o script, todo o aplicativo salvo, mas os dados no so recarregados automaticamente.
Faa o seguinte:
l

Clique em Salvar na barra de ferramentas do editor de carga de dados para salvar o script.

O script salvo, mas o aplicativo ainda conter os dados antigos do recarregamento anterior, que indicado
na barra de ferramentas. Se voc quiser atualizar o aplicativo com novos dados, clique em Carregar dados

na barra de ferramentas do editor da carga de dados.


Ao salvar o script, realizada automaticamente uma verificao de erros de sintaxe. Os erros de sintaxe so
realados no cdigo, e todas as sees de script que contm erros de sintaxe so indicadas com ao lado
do rtulo da seo.

O script automaticamente salvo no aplicativo quando os dados so carregados.

Depurar o script de carga de dados


Voc pode usar os utilitrios de depurao no editor de script de carga para percorrer a execuo do seu
script usando pontos de interrupo, podendo assim inspecionar os valores variveis e a sada da execuo
do script. possvel selecionar se voc deseja ver uma ou todas as Sadas, Variveis e Pontos de

interrupo.
Para mostrar o painel de depurao, faa o seguinte:
l

Clique em u na barra de ferramentas do editor da carga de dados.


O painel de depurao aberto na parte inferior do editor da carga de dados.

Carregando e modelando dados - Qlik Sense, 2.0.2

60

3 Carregando dados com o script de carga de dados


Voc no pode criar conexes, editar conexes, selecionar dados, salvar o script ou carregar
dados enquanto estiver executando no modo de depurao, isto , desde quando comeou a
execuo da depurao at que o script seja executado ou a execuo termine

Barra de ferramentas da depurao


O painel de depurao do editor da carga de dados contm uma barra de ferramentas com as seguintes
opes para controlar a execuo de depurao:

Carga limitada

Habilite essa opo para limitar quantas linhas de dados sero carregadas de cada
fonte de dados. Isso til para reduzir o tempo de execuo se as fontes de dados
forem grandes.
Insira o nmero de linhas que deseja carregar.

Isso s se aplica a fontes de dados fsicos. Cargas automaticamente


geradas e em linha no sero limitadas, por exemplo.

Inicie ou continue a execuo no modo de depurao at que o prximo ponto de


interrupo seja atingido.

Passe prxima linha de cdigo.


Termine a execuo aqui. Se voc terminar antes que o cdigo completo seja
executado, o modelo de dados resultante conter apenas os dados at a linha de
cdigo onde a execuo terminou.

Sada
Sada exibe todas as mensagens geradas durante a execuo da depurao. Voc pode optar por bloquear
a rolagem da sada quando novas mensagens forem exibidas clicando em \.
Alm disso, o menu de sada () contm as seguintes opes:

Limpar

Clique aqui para excluir todas as mensagens de sada.

Selecionar todo o

Clique aqui para selecionar todas as mensagens de sada.

texto
Rolar at o final

Clique aqui para rolar at a ltima mensagem de sada.

Variveis
Variveis lista todas as variveis reservadas, as do sistema e as definidas no script e exibe os valores atuais
durante a execuo do script.

Carregando e modelando dados - Qlik Sense, 2.0.2

61

3 Carregando dados com o script de carga de dados


Definindo uma varivel como favorita
Se quiser inspecionar variveis especficas durante a execuo, possvel configur-las como favoritas. As
variveis favoritas so exibidas no topo da lista de variveis, marcadas por uma estrela amarela. Para definir
uma varivel como favorita, faa o seguinte:
l

Clique em ao lado de uma varivel.


O se torna amarelo e a varivel transferida para o topo da lista de variveis.

Filtrando variveis
Usando as seguintes opes no menu de variveis (), possvel aplicar um filtro para mostrar apenas um
tipo selecionado de variveis:

Mostrar todas as variveis

Clique aqui para mostrar todos os tipos de variveis.

Mostrar variveis de sistema

Clique aqui para mostrar as variveis de sistema.


As variveis de sistema so definidas pelo Qlik Sense, mas voc
pode alterar o valor da varivel no script.

Mostrar variveis reservadas

Clique aqui para mostrar as variveis reservadas.


As variveis reservadas so definidas pelo Qlik Sense e o valor
no pode ser alterado.

Mostrar variveis definidas pelo


usurio

Clique aqui para mostrar as variveis definidas pelo usurio.


As variveis definidas pelo usurio so aquelas que voc definiu
no script.

Pontos de interrupo
possvel adicionar pontos de interrupo ao seu script, podendo assim parar a execuo da depurao em
certas linhas de cdigo e inspecionar os valores das variveis e mensagens de sada nesse ponto. Ao
alcanar um ponto de interrupo, voc pode optar por interromper a execuo, continuar at atingir o
prximo ponto de interrupo ou passar prxima linha de cdigo. Todos os pontos de interrupo nos
scripts so listados, com uma referncia ao nmero da seo e da linha.

Adicionando um ponto de interrupo


Para adicionar um ponto de interrupo a uma linha de cdigo, faa o seguinte:
l

No script, clique na rea diretamente direita do nmero da linha em que deseja adicionar um ponto
de interrupo.
Um Q ao lado do nmero de linha indica que existe um ponto de interrupo nessa linha.

Voc pode adicionar pontos de interrupo at mesmo quando o painel de depurao estiver
fechado.

Excluindo pontos de interrupo


Voc pode excluir um ponto de interrupo com um dos seguintes procedimentos:

Carregando e modelando dados - Qlik Sense, 2.0.2

62

3 Carregando dados com o script de carga de dados


l

No script, clique em um Q ao lado do nmero da linha.

Na lista de pontos de interrupo, clique em E ao lado de um ponto de interrupo.

Voc tambm pode clicar em e selecionar Excluir tudo para excluir todos os pontos de interrupo no
script.

Ativando e desativando pontos de interrupo


Quando voc cria um ponto de interrupo, ele ativado por padro, sendo indicado pelo m ao lado do
ponto de interrupo na lista de pontos de interrupo. Voc pode ativar e desativar pontos de interrupo
individuais selecionando-os e desmarcando-os na lista de pontos de interrupo.
Voc tambm tem as seguintes opes no menu de pontos de interrupo ():
l

Ativar todos

Desativar todos

Executar o script para carregar os dados


Clique em Carregar dados na barra de ferramentas para executar o script e recarregar os dados no
aplicativo. O aplicativo salvo automaticamente antes de carregar os dados.
O dilogo Progresso da carga de dados exibido e voc pode Abortar a carga. Quando a carga de dados
for concluda, o dilogo ser atualizado com o status (xito ou Falha na carga de dados) e um resumo dos
possveis erros e avisos exibido, como chaves sintticas. O resumo tambm exibido na Sada caso
deseje v-lo depois que o dilogo for fechado.

Se desejar que o dilogo Progresso da carga de dados seja sempre fechado


automaticamente depois da concluso de uma execuo, selecione Fechar ao terminar.

Barras de ferramentas do editor da carga de dados


As barras de ferramentas permitem que voc execute aes globais no seu script de carga de dados, como
desfazer/refazer, depurar e pesquisar/substituir. Tambm possvel clicar em Carregar dados para
recarregar os dados no aplicativo.

Barra de ferramentas principal

Menu de navegao com as seguintes opes:

Viso geral do aplicativo


7Visualizador do modelo de dados
qAbrir Hub

Carregando e modelando dados - Qlik Sense, 2.0.2

63

3 Carregando dados com o script de carga de dados

Menu com as seguintes opes:

Adicionar dados.
DAjuda
]Sobre
Salvar

Salvar as alteraes.

Clique no cone de informaes para mostrar ou ocultar os detalhes do


aplicativo.

Depure o script

Carregar dados

Execute o script e recarregue os dados. O aplicativo salvo automaticamente


antes de recarregar.

Alterne a visualizao Conexes de dados.

Barra de ferramentas do editor

Pesquisar e substituir texto no script.


Comentar/remover comentrio
Recuo
Recuo esquerda
Ative o modo de ajuda de sintaxe. No modo de ajuda, voc pode clicar em uma
palavra-chave da sintaxe (marcada em azul) no editor para acessar a ajuda
detalhada da sintaxe.

No possvel editar o script no modo de ajuda.

Desfaa a ltima alterao na seo atual ( possvel desfazer vrios passos).


Isso equivale a pressionar Ctrl+Z.

Refaa uma alterao previamente desfeita (Desfaa) na seo atual. Isso


equivale a pressionar Ctrl+Y.

3.2

Compreendendo os tipos de dados

Comandos de carregamento de dados


Os dados so carregados pelos comandos LOAD ou SELECT. Cada um desses comandos gera uma tabela
interna. Uma tabela pode sempre ser vista como uma lista de algo, em que cada registro (linha) uma nova
instncia do tipo de objeto e cada campo (coluna) um atributo ou propriedade especfica do objeto.

Carregando e modelando dados - Qlik Sense, 2.0.2

64

3 Carregando dados com o script de carga de dados


Regras
As seguintes regras se aplicam durante o carregamento dos dados no Qlik Sense:
l

O Qlik Sense no diferencia as tabelas geradas por um comando LOAD ou SELECT. Dessa forma,
se vrias tabelas forem carregadas, no importar se as tabelas so carregadas por comando LOAD
ou SELECT ou por uma mistura de ambas.

A ordem dos campos no comando ou na tabela original da base de dados arbitrria para a lgica do
Qlik Sense.
Os nomes de campo so utilizados em processos adicionais para identificar campos e fazer
associaes. Eles diferenciam maisculas de minsculas, o que costuma ser necessrio para
renomear campos no script.

Execuo do script
Em um comando LOAD ou SELECT tpico, a ordem dos eventos ser aproximadamente a seguinte:

1. Avaliao de expresses
2. Renomeao dos campos por as
3. Renomeao dos campos por alias
4. Qualificao dos nomes de campo
5. Mapeamento de dados em caso de correspondncia dos nomes de campo
6. Armazenamento de dados em uma tabela interna

Campos
Campos so as entidades primrias de carregamento de dados no Qlik Sense. Um campo normalmente
contm diversos valores, chamados de valores de campo. Na terminologia de banco de dados, dizemos que
os dados processados pelo Qlik Sense so provenientes de arquivos de dados. Um arquivo composto por
vrios campos em que cada entrada de dados um registro. Os termos arquivo, campo e registro so
equivalentes a tabela, coluna e linha, respectivamente. A lgica AQL Qlik Sense trabalha apenas em
campos e em seus valores de campo.
Os dados dos campos so recuperados pelo script por meio dos comandos LOAD, SELECT ou Binary. A
nica maneira de alterar dados em um campo executando o script novamente. Os valores de campo no
podem ser manipulados no layout pelo usurio ou por meio de automao. Depois de lidos no Qlik Sense,
esses valores podero ser apenas exibidos e usados para clculos e selees lgicas.
Os valores de campo consistem em dados (de texto) numricos ou alfanumricos. Os valores numricos
possuem, na verdade, valores duais, o valor numrico e sua representao de texto formatada atual.
Somente a ltima exibida em objetos de pasta, entre outros.
O contedo de um campo pode ser representado em um painel de filtro.

Campos derivados
Se voc tiver um grupo de campos relacionados ou campos que carregam informaes que podem ser
divididas em partes menores, que so relevantes quando se est criando dimenses e medidas, voc pode
criar definies de campo que podem ser usadas para gerar campos derivados. Um exemplo um campo de

Carregando e modelando dados - Qlik Sense, 2.0.2

65

3 Carregando dados com o script de carga de dados


data, da qual se pode derivar vrios atributos, como ano, ms, nmero da semana ou nome do dia. Todos
esses atributos podem ser calculados em uma expresso de dimenso usando funes de data Qlik Sense,
mas uma alternativa criar uma definio de calendrio que seja comum para todos os campos do tipo data.
As definies de campo so armazenadas no script de carga de dados.

Declarar as definies de campo do calendrio


Voc usa o comando Declare para criar uma definio dos campos derivados. quando se define os
diferentes atributos do campo; nesse caso, atributos relacionados data. Cada campo descrito como
<expression> As field_name tagged tag. A configurao de uma ou mais tags opcional, mas pode afetar a
ordem de classificao do campo derivado. Use $1 para referenciar o campo de dados a partir do qual os
campos derivados devem ser gerados.
Calendar:
DECLARE FIELD DEFINITION TAGGED '$date'
Parameters
first_month_of_year = 1
Fields
Year($1) As Year Tagged ('$numeric'),
Month($1) as Month Tagged ('$numeric'),
Date($1) as Date Tagged ('$date'),
Week($1) as Week Tagged ('$numeric'),
Weekday($1) as Weekday Tagged ('$numeric'),
DayNumberOfYear($1, first_month_of_year) as DayNumberOfYear Tagged ('$numeric')
;

Mapear campos de dados para o calendrio com Derive


A prxima etapa usar o comando Derive para mapear campos de dados existentes para o calendrio. Isso
criar os campos derivados. Voc pode fazer isso de trs maneiras alternativas no script de carga de dados:
l

Mapear campos especficos por nome do campo.


DERIVE FIELDS FROM FIELDS OrderDate,ShippingDate USING Calendar;

Mapear todos os campos com uma ou mais tags especficas de campo.


DERIVE FIELDS FROM EXPLICIT TAGS '$date' USING Calendar;

Mapear todos os campos marcados com uma ou mais tags da definio de campo ($date no exemplo
acima).
DERIVE FIELDS FROM IMPLICIT TAG USING Calendar;

Nesse caso, voc pode usar qualquer um dos trs exemplos citados aqui.

Usar os campos de data derivados em uma visualizao


Qlik Sense est preparado para reconhecer campos derivados de data caso voc tenha criado uma definio
de calendrio e mapeado os campos, conforme o exemplo aqui. Eles esto disponveis na seo Campos

de data e hora do painel de ativos Campos. Voc encontrar tambm todos os campos derivados no editor
de expresso e quando criar ou editar dimenses.

Tags de campo
Tags de campo oferecem a possibilidade de adicionar metadados aos campos no modelo de dados. Existem
dois tipos de tags de campo diferentes:

Carregando e modelando dados - Qlik Sense, 2.0.2

66

3 Carregando dados com o script de carga de dados


l

Tags de campo de sistema


Tags de campo de sistema so geradas automaticamente quando o script executado e os dados
carregados. Algumas tags podem ser manipuladas no script. As tags de sistema so sempre
precedidas de um sinal $.
Tags de campo personalizadas
Voc pode adicionar tags personalizadas aos campos no script de carga de dados, usando o comando
Tag. Tags personalizadas no podem usar o mesmo nome das tags de sistema.

Tags de campo de sistema


As tags de campo de sistema a seguir so geradas no final da execuo do script.

Pode ser
Tag

Descrio

manipulada
no script

$system

Campo de sistema gerado pelo Qlik Sense durante a execuo do script.

No

$key

Campo chave fornecendo um link entre duas ou mais tabelas.

No

$keypart

O campo faz parte de uma ou mais chaves sintticas.

No

$syn

Chave sinttica

No

$hidden

Campo oculto, ou seja, no exibido em qualquer lista de seleo de


campo ao criar visualizaes, dimenses ou medidas. Voc ainda pode
usar campos ocultos em expresses, mas precisa digitar o nome do
campo.

Sim

Voc pode usar as variveis de sistema HidePrefix e HideSuffix para


definir quais campos sero ocultados.
$numeric

Todos os valores (no NULL) no campo so numricos

Sim

$integer

Todos os valores (no NULL) no campo so inteiros.

Sim

$text

Nenhum valor no campo numrico.

Sim

$ascii

Os valores de campo contm somente caracteres ASCII padro.

Sim

$date

Todos os valores (no NULL) no campo podem ser interpretados como


datas (inteiros).

Sim

$timestamp

Todos os valores (no NULL) no campo podem ser interpretados como


carimbos de data/hora.

Sim

Campos do sistema
Alm dos campos extrados da fonte de dados, os campos do sistema tambm so produzidos pelo Qlik
Sense. Todos comeam com $ e podem ser exibidos como campos comuns em uma visualizao, como
um painel de filtro ou uma tabela. Os campos do sistema, que normalmente so criados durante a execuo

Carregando e modelando dados - Qlik Sense, 2.0.2

67

3 Carregando dados com o script de carga de dados


do script e so usados principalmente como recursos auxiliares na criao do aplicativo.

Os campos do sistema no esto inclusos nas listas de campo no painel de ativos ou no Editor
de expresso. Se voc quiser usar um campo do sistema, precisa referenci-lo digitando
manualmente.
Exemplo: =$Field

Campos de sistema disponveis


Os seguintes campos de sistema esto disponveis:

$Table

Exibe todas as tabelas internas carregadas pelo script.

$Field

Exibe os campos que so lidos das tabelas.

$Fields

Representa o nmero de campos em diferentes tabelas.

$FieldNo

Exibe a posio dos campos nas tabelas.

$Rows

Mostra o nmero de linhas nas tabelas.

$Info

Exibe os nomes das tabelas de informaes, caso tenham sido includas no


aplicativo.

Tabelas lgicas
Cada comando LOAD ou SELECT gera uma tabela. Normalmente, o Qlik Sense trata o resultado de cada
uma delas como uma tabela lgica. No entanto, existem duas excees a essa regra:
l

Se dois ou mais comandos resultarem em tabelas com nomes de campo idnticos, as tabelas sero
concatenadas e tratadas como uma tabela lgica.
Se um comando LOAD ou SELECT for precedido por algum dos qualificadores a seguir, os dados
sero alterados ou tratados de forma diferente:

concatenate

Essa tabela concatenada com (adicionada a) outra tabela nomeada ou com a


tabela lgica criada mais recentemente.

crosstable

Essa tabela ser convertida do formato de tabela cruzada para formato de


coluna.

generic

Essa tabela ser dividida em vrias outras tabelas lgicas.

info

Essa tabela ser carregada no como uma tabela lgica, mas como uma
tabela de informaes que contm links para informaes externas, como
arquivos, sons, URLs etc.

intervalmatch

A tabela (que deve conter exatamente duas colunas) ser interpretada como
intervalos numricos, que so associados a nmeros discretos em um campo
especificado.

Carregando e modelando dados - Qlik Sense, 2.0.2

68

3 Carregando dados com o script de carga de dados


join

Essa tabela ser unida pelo Qlik Sense com outra tabela nomeada ou com a
tabela lgica criada anteriormente, pelos campos em comum.

keep

Essa tabela reduzida para os campos em comum com outra tabela nomeada
ou com a tabela lgica criada mais recentemente.

mapping

Essa tabela (que deve conter exatamente duas colunas) ser lida como uma
tabela de mapeamento, que nunca associada a outras tabelas.

semantic

Essa tabela ser carregada no como uma tabela lgica, mas como uma
tabela semntica que contm relacionamentos que no devem ser unidos,
como predecessor, sucessor e outras referncias a outros objetos do mesmo
tipo.

Quando os dados forem carregados, as tabelas lgicas sero associadas.

Nomes de tabela
As tabelas do Qlik Sense so nomeadas quando so armazenadas na base de dados do Qlik Sense. Os
nomes de tabelas podem ser usados, por exemplo, para comandos LOAD com uma clusula resident ou
com expresses contendo a funo peek e podem ser vistos no campo de sistema $Table no layout.
As tabelas so nomeadas de acordo com as seguintes regras:

1. Se um rtulo preceder imediatamente uma declarao LOAD ou SELECT, o rtulo ser utilizado
como nome da tabela. O rtulo deve ser seguido por dois-pontos.
Exemplo:
Table1:
LOAD a,b from c.csv;

2. Se nenhum rtulo for fornecido, ser usado o nome do arquivo ou nome da tabela que segue
imediatamente a palavra-chave FROM na declarao LOAD ou SELECT. So utilizados no mximo
32 caracteres. A extenso ignorada se o nome do arquivo for usado.
3. As tabelas carregadas inline sero nomeadas INLINExx, em que xx um nmero. A primeira tabela
inline receber o nome INLINE01.
4. As tabelas geradas automaticamente sero nomeadas AUTOGENERATExx, em que xx um
nmero. A primeira tabela gerada automaticamente receber o nome AUTOGENERATE01.
5. Se um nome de tabela gerado de acordo com as regras apresentadas estiver em conflito com um
nome de tabela anterior, o nome estendido com -x, em que x um nmero. O nmero ser
incrementado at que no haja mais conflito. Por exemplo, trs tabelas poderiam ser nomeadas
Budget, Budget-1 e Budget-2.
H trs domnios separados para nomes de tabelas: section access, section application e tabelas de
mapeamento As tabelas geradas em section access e section application so tratadas separadamente.
Se um nome de tabela referenciado no for encontrado na seo, o Qlik Sense tambm pesquisar a outra
seo. As tabelas de mapeamento so tratadas separadamente e no tm conexo alguma com os outros
dois domnios de nomes de tabelas.

Carregando e modelando dados - Qlik Sense, 2.0.2

69

3 Carregando dados com o script de carga de dados


Rtulos da tabela
Uma tabela pode ser rotulada para referncia posterior por um comando LOAD com uma clusula resident
ou com expresses que contenham a funo peek. O rtulo, que podem ser nmeros e caracteres
arbitrrios, deve preceder o primeiro comando LOAD ou SELECT que cria a tabela de entrada. O rtulo
deve ser seguido por dois-pontos " :".
Os rtulos que contenham espaos em branco devem ficar entre aspas simples ou duplas ou colchetes.

Exemplo 1:
Table1:
LOAD a,b from c.csv;
LOAD x,y from d.csv where x=peek('a',y,'Table1');

Exemplo 2: O rtulo da tabela contendo um espao em branco


[All Transactions]:
SELECT * from Transtable;
LOAD Month, sum(Sales) resident [All Transactions] group by Month;

Associaes entre tabelas lgicas


Um banco de dados pode ter vrias tabelas. Cada tabela pode ser considerada como uma lista de algo. Cada
registro na lista representa uma instncia de um objeto de algum tipo.

Exemplo:
Se duas tabelas forem listas de itens diferentes, por exemplo, se uma for de clientes e a outra for de faturas,
e as duas tabelas tiverem um campo em comum, como o nmero do cliente, normalmente um sinal de que
h um relacionamento entre as duas tabelas. Em ferramentas de consulta SQL padro, as duas tabelas
devem quase sempre ser unidas.
As tabelas definidas no script do Qlik Sense so denominadas tabelas lgicas. O Qlik Sense faz associaes
entre as tabelas com base nos nomes de campos e executa as junes quando uma seleo feita, por
exemplo, durante a seleo de um valor de campo em uma caixa de filtro.
Isso significa que uma associao quase o mesmo que uma juno. A nica diferena que a juno
feita quando o script executado a tabela lgica geralmente o resultado da juno. A associao feita
depois da criao da tabela as associaes so feitas sempre entre as tabelas lgicas.

Carregando e modelando dados - Qlik Sense, 2.0.2

70

3 Carregando dados com o script de carga de dados

Quatro tabelas: uma lista de pases, uma lista de clientes, uma lista de transaes e uma lista de assinaturas,
que esto associadas entre si pelos campos Country e CustomerID.

Associao do Qlik Sense em comparao com a juno externa natural SQL


Uma associao do Qlik Sense semelhante uma juno externa natural SQL. No entanto, a associao
mais geral: uma juno externa no SQL geralmente uma projeo unidirecional de uma tabela em outra.
Uma associao sempre resulta em uma juno externa natural completa (bidirecional).

Informaes de frequncia em campos associados


H algumas limitaes no uso da maior parte dos campos associados, isto , campos que so comuns entre
duas ou mais tabelas. Quando um campo ocorre em mais de uma tabela, o Qlik Sense enfrenta problemas
para saber qual das tabelas deve usar para calcular frequncias de dados.
O Qlik Sense analisa os dados para determinar se h uma forma no ambgua de identificar uma tabela
principal para efetuar a contagem (s vezes h), mas na maior parte dos casos o programa pode fazer
apenas uma suposio. Como uma suposio incorreta poderia ser fatal (o Qlik Sense aparentaria fazer um
erro de clculo), o programa foi projetado para no permitir determinadas operaes quando a interpretao
de dados for ambgua para campos associados.

Limitaes para associao de campos


1. No possvel exibir informaes de frequncia em um painel de filtro que mostre o campo.
2. As caixas de estatsticas do campo mostram n/a para a maior parte das entidades estatsticas.
3. Em grficos, no possvel criar expresses que contenham funes que dependam de informaes
de frequncia (como funes Sum, Count e Average) sobre o campo, a menos que o modificador
Distinct seja ativado. Depois de cada execuo de script, o Qlik Sense pesquisa todas as expresses
de grficos para verificar se ocorreu alguma ambiguidade como resultado de alteraes nas
estruturas de dados. Se forem encontradas expresses ambguas, uma caixa de dilogo de ateno
ser exibida e a expresso ser desabilitada. No ser possvel habilitar a expresso at que o

Carregando e modelando dados - Qlik Sense, 2.0.2

71

3 Carregando dados com o script de carga de dados


problema seja corrigido. Se um arquivo de log for habilitado, todas as expresses ambguas sero
listadas no log.

Soluo alternativa
H uma forma simples de superar essas limitaes. Carregue o campo uma vez mais com um novo nome, a
partir da tabela na qual as contagens de frequncia devem ser feitas. Em seguida, use o novo campo para
um painel de filtro com frequncia, para uma caixa de estatsticas ou para clculos nos grficos.

Chaves sintticas
Quando duas ou mais tabelas de dados tiverem dois ou mais campos em comum, isso implicar em um
relacionamento de chave composta. O Qlik Sense resolve isso por meio da criao automtica de chaves
sintticas. Essas chaves so campos annimos que representam todas as combinaes ocorridas da chave
composta.
Caso voc receba um aviso sobre chaves sintticas quando carregar os dados, recomendado que voc
revise a estrutura de dados no visualizador do modelo de dados. Voc deve se perguntar se o modelo de
dados est ou no correto. As vezes est correto, mas, em geral, a chave sinttica est l devido a um erro
no script.
Chaves sintticas mltiplas geralmente so um sintoma de um modelo de dados incorreto, mas no
necessariamente. Contudo, chaves sintticas baseadas em outras chaves sintticas um sinal certo de um
modelo de dados incorreto.

Quando o nmero de chaves sintticas aumenta, dependendo das quantidades de dados, da


estrutura da tabela e de outros fatores, o Qlik Sense pode ou no lidar com elas de forma gil, o
que pode terminar usando uma quantidade excessiva de tempo e/ou de memria. Em tal caso,
ser preciso retrabalhar seu script e remover todas as chaves sintticas.

Carregando e modelando dados - Qlik Sense, 2.0.2

72

3 Carregando dados com o script de carga de dados


Tratamento de chaves sintticas
Se precisar evitar chaves sintticas, h diversos modos de resolver isso no script de carga de dados:
l

Verifique se apenas os campos que vinculam logicamente as duas tabelas so usados como chaves.
l

Campos como Comentrios, Notas e Descrio podem existir em diversas tabelas sem
que haja qualquer relao e, portanto, no devem ser usados como chaves.
Campos como Data, Empresa e Nome podem existir em diversas tabelas e possuir
valores idnticos, embora com funes diferentes (Data do Pedido/Data de Envio, Empresa
Consumidora/Empresa Fornecedora). Em tais casos, eles no devem ser usados como
chaves.

Certifique-se de que os campos redundantes no sejam usados de que apenas os campos


necessrios sejam conectados. Por exemplo, se uma data for usada como chave, certifique-se de no
carregar ano, ms ou dia_do_ms da mesma data de mais de uma tabela interna.
Se necessrio, forme suas prprias chaves no compostas, usando normalmente a concatenao de
caracteres dentro de uma funo do script AutoNumber.

Tipos de dados no Qlik Sense


O Qlik Sense pode tratar caracteres de texto, nmeros, datas, horas, datas/horas e moedas. Eles podem ser
classificados, exibidos em vrios formatos diferentes e podem ser usados em clculos. Isso significa, por
exemplo, que datas, horas e datas/horas podem ser includas ou subtradas umas das outras.

Representao de dados no Qlik Sense


Para entender a interpretao de dados e formatos numricos no Qlik Sense, necessrio saber como os
dados so armazenados internamente pelo programa. Todos os dados carregados no Qlik Sense esto
disponveis em duas representaes, como um caractere e como nmero.

1. A representao em caractere est sempre disponvel, e ela mostrada nas listas e em outros
objetos da pasta. O formato de dados em listas (formato numrico) afeta somente a representao
em caractere.
2. A representao de nmero est disponvel apenas quando os dados podem ser interpretados como
um nmero vlido. A representao de nmero usada para todos os clculos numricos e para a
classificao numrica.
Se vrios itens de dados lidos em um campo tiverem a mesma representao numrica, todos eles sero
tratados como o mesmo valor e compartilharo a primeira representao de caractere encontrada. Exemplo:
Os nmeros 1,0, 1 e 1,000 lidos nessa ordem tero a representao numrica 1 e a representao de
caractere inicial 1,0.

Interpretao numrica
Quando voc carregar dados contendo nmeros, moedas ou datas, eles sero interpretados de diferentes
formas, dependendo de o tipo de dados estar ou no definido. Esta seo descreve como os dados so
interpretados nos dois casos diferentes.

Carregando e modelando dados - Qlik Sense, 2.0.2

73

3 Carregando dados com o script de carga de dados


Dados com informaes de tipo
Os campos que contm nmeros com um tipo de dado definido em uma base de dados carregada usando
ODBC sero tratados pelo Qlik Sense de acordo com os respectivos formatos. A representao de caractere
ser o nmero com um formato apropriado aplicado.
O Qlik Sense lembrar o formato numrico original do campo, mesmo que o formato numrico tenha sido
alterado para uma medida em Formatao numrica no painel de propriedades.
Os formatos padro dos diferentes tipos de dados so:
l

nmeros inteiros de ponto flutuante: a configurao padro para nmeros

moeda: a configurao padro para moeda

hora, data, data/hora: formatao ISO padro

A configurao padro para nmero e moeda so definidos usando as variveis de interpretao numrica
do script ou a configurao do sistema operacional (Painel de Controle).

Dados sem informaes de tipo


Para dados sem informaes especficas de formato da fonte (por exemplo, dados de arquivos de texto ou
dados ODBC com um formato geral), a situao se torna mais complicada. O resultado final depender de,
pelo menos, seis fatores diferentes:

1. O modo como os dados so gravados na base de dados de origem


2. A configurao do sistema operacional para nmero, hora, data e outros. (Painel de Controle)
3. O uso de variveis opcionais de interpretao numrica no script
4. O uso de funes opcionais de interpretao no script
5. O uso de funes opcionais de formato no script
6. Os controles de formato numrico no documento
O Qlik Sense tenta interpretar os dados de entrada como um nmero, data, hora e outros. Desde que a
configurao padro do sistema seja usada nos dados, a interpretao e o formato de exibio sero feitos
automaticamente pelo Qlik Sense e o usurio no precisar alterar o script e nem as configuraes no Qlik
Sense. H um jeito fcil de descobrir se os dados de entrada foram interpretados corretamente: valores
numricos so alinhados direita nas caixas de lista, enquanto os caracteres de texto so alinhados
esquerda.
Por padro, o esquema a seguir ser utilizado at que uma correspondncia completa seja encontrada. (O
formato padro , por exemplo, o separador de decimal, a ordem entre ano, ms e dia e outros, especificado
no sistema operacional, isto , no Painel de Controle ou, em alguns casos, usando as variveis especiais
de interpretao numrica no script.
O Qlik Sense interpretar os dados como:

1. Um nmero de acordo com o formato padro para nmeros.


2. Uma data de acordo com o formato padro para data.
3. Uma data/hora de acordo com o formato padro para data e hora.
4. Uma hora de acordo com o formato padro para hora.

Carregando e modelando dados - Qlik Sense, 2.0.2

74

3 Carregando dados com o script de carga de dados


5. Uma data de acordo com o seguinte formato: yyyy-MM-dd.
6. Uma data/hora de acordo com o seguinte formato: YYYY-MM-DD hh:mm[:ss[.fff]].
7. Uma hora de acordo com o seguinte formato: hh:mm[:ss[.fff]].
8. Moeda de acordo com o formato padro para moeda.
9. Um nmero com '.' como separador de decimal e ',' como separador de milhar, desde que nem o
separador de decimal nem o separador de milhar estejam configurados como ','.
10. Um nmero com ',' como separador de decimal e '.' como separador de milhar, desde que nem o
separador de decimal nem o separador de milhar estejam configurados como '.'.
11. Um caractere de texto. Esse ltimo teste nunca falha: se for possvel ler os dados, ser sempre
possvel interpret-los como caracteres.
Ao carregar nmeros de arquivos de texto, podem ocorrer alguns problemas de interpretao, por exemplo,
um separador de milhar ou separador de decimal incorreto pode fazer com que o Qlik Sense interprete o
nmero incorretamente. A primeira coisa a fazer verificar se as variveis de interpretao numrica no
script esto definidas corretamente e se as configuraes de sistema no Painel de Controle esto corretas.
Quando o Qlik Sense tiver interpretado os dados como uma data ou hora, possvel alterar para outro
formato de data ou hora no painel de propriedades da visualizao.
Como no existe formato predefinido para os dados, evidente que registros diferentes podem conter dados
formatados de forma diferente no mesmo campo. possvel, por exemplo, encontrar datas vlidas, inteiros
e texto em um nico campo. Portanto, os dados no sero formatados, mas exibidos em seu formato
original.

Interpretao de data e hora


O Qlik Sense armazena cada data, hora e data/hora encontrados nos dados como um nmero de srie de
data. O nmero de srie de data utilizado para datas, horas e data/hora e em clculos aritmticos com
base nas entidades de data e hora. Dessa forma, as datas e horas podem ser adicionadas e subtradas, os
intervalos podem ser comparados e etc.
O nmero de srie de data o nmero (valor real) de dias passados desde de 30 de dezembro de 1899, ou
seja, o formato do Qlik Sense idntico ao sistema de dados de 1900 usado pelo Microsoft Excel e outros
programas, no intervalo entre 1 de maro de 1900 e 28 de fevereiro de 2100. Por exemplo, 33857
corresponde a 10 de setembro de 1992. Fora desse intervalo, o Qlik Sense usa o sistema de data estendido
para o calendrio gregoriano.
O nmero de srie para horrios um nmero entre 0 e 1. O nmero de srie 0.00000 corresponde a
00:00:00, ao passo que 0.99999 corresponde a 23:59:59. Nmeros mistos indicam a data e a hora: o nmero
de srie 2.5 representa o meio-dia de 1 de janeiro de 1900.
Contudo, os dados so exibidos de acordo com o formato de caractere. Por padro, sero usadas as
configuraes feitas no Painel de Controle. Tambm possvel definir o formato dos dados usando as
variveis de interpretao numrica no script ou com a ajuda de uma funo de formatao. Por fim,
tambm possvel reformatar os dados na pasta de propriedades do objeto da pasta.

Exemplo 1:

Carregando e modelando dados - Qlik Sense, 2.0.2

75

3 Carregando dados com o script de carga de dados


1997-08-06

armazenado como:

35648

09:00

armazenado como:

0.375

1997-08-06 09:00

armazenado como:

35648.375

e vice-versa.
35648

com o formato numrico


'D/M/YY', exibido
como:

6/8/97

0.375

com o formato numrico


'hh.mm', exibido
como:

09.00

O Qlik Senseseguir um conjunto de regras para tentar interpretar datas, horas e outros tipos de dados. O
resultado final, no entanto, ser afetado por diversos fatores, conforme descrito aqui.

Exemplo 2:
Estes exemplos assumem as seguintes configuraes padro:
l

Separador de nmero decimal: .

Formato de data abreviada: YY-MM-DD

Formato de hora: hh:mm

A tabela a seguir exibe as diferentes representaes quando os dados so lidos no Qlik Sense sem a funo
de interpretao especial no script:

Dados

Interpretao

Formato de

Formato

Formato

de

padro do Qlik

data 'YYYY-

de hora

numrico '#

origem

Sense

MM-DD'

'hh:mm'

##0.00'

0.375

0.375

1899-12-30

12/30/1899

09:00

0.38

33857

33857

1992-09-10

09/10/1992

00:00

33 857.00

97-08-06

97-08-06

1997-08-06

08/06/1997

00:00

35 648.00

970806

970806

4557-12-21

12/21/4557

00:00

970 806.00

8/6/97

8/6/97

8/6/97

8/6/97

8/6/97

8/6/97

Formato de data
'MM/DD/YYYY'

A tabela a seguir exibe as diferentes representaes quando os dados so lidos no Qlik Sense usando a
funo de interpretao date#(A, 'M/D/YY') no script:

Carregando e modelando dados - Qlik Sense, 2.0.2

76

3 Carregando dados com o script de carga de dados


Dados

Interpretao

Formato de

Formato

Formato

de

padro do Qlik

data 'YYYY-

de hora

numrico '#

origem

Sense

MM-DD'

'hh:mm'

##0.00'

0.375

0.375

0.375

0.375

0.375

0.375

33857

33857

33857

33857

33857

33857

97-08-06

97-08-06

97-08-06

97-08-06

97-08-06

97-08-06

970806

970806

970806

970806

970806

970806

8/6/97

8/6/97

1997-08-06

08/06/1997

00:00

35 648.00

3.3

Formato de data
'MM/DD/YYYY'

Diretrizes para dados e campos

Voc precisa saber de algumas convenes e limitaes ao trabalhar com o Qlik Sense. Por exemplo, o
limite superior para tabelas de dados e campos, bem como a quantidade mxima de dados carregados no
Qlik Sense.

Diretrizes para a quantidade de dados carregados


A quantidade de dados que pode ser carregada ao Qlik Sense , primariamente, limitada pela quantidade de
memria principal do computador.

Limites superiores para tabelas de dados e campos


Fique atento ao criar aplicativos muito grandes, pois um aplicativo do Qlik Sense no pode ter mais de
2.147.483.648 valores distintos em um campo.
O nmero de campos e tabelas de dados, bem como o nmero de clulas e linhas de tabela que podem ser
carregadas limitado somente pela RAM.

Limite recomendado para sees de script de carga


O nmero mximo de caracteres recomendado para uso por seo de script de carga de 50.000 caracteres.

Convenes para formatos de nmero e hora


Em vrias das funes de interpretao e formato, possvel definir o formato de nmeros e datas usando
um cdigo de formato. Este tpico descreve as convenes usadas para formatar um nmero, data, hora ou
data/hora. Essas convenes aplicam-se s funes de script e grfico.

Formatos numricos
l
l

Para indicar um nmero especfico de dgitos, use o smbolo "0" para cada dgito.
Para indicar um dgito possvel, use o smbolo "#". Se o formato contiver somente smbolos # esquerda
do ponto decimal, os nmeros menores que 1 comearo com um ponto decimal.
Para marcar a posio do separador de milhares ou o separador de decimal, use o separador de milhares
e o separador de decimal aplicvel.

Carregando e modelando dados - Qlik Sense, 2.0.2

77

3 Carregando dados com o script de carga de dados


O cdigo de formato usado para definir as posies dos separadores. No possvel definir o separador no
cdigo de formato. Use as variveis DecimalSep e ThousandSep para isso no script.
possvel usar o separador de milhar para agrupar dgitos por qualquer nmero de posies, por exemplo,
uma string de formato "0000-0000-0000" (separador de milhar="-") pode ser usada para exibir um nmero de
pea de 12 dgitos como "0012-4567-8912".

Exemplos:
# ##0

descreve o nmero como um inteiro com um separador de milhares.

###0

descreve o nmero como um inteiro sem um separador de milhares.

0000

descreve o nmero como um inteiro com, pelo menos, quatro dgitos. Por exemplo, o nmero
123 ser mostrado como 0123.

0.000

descreve o nmero com trs casas decimais.

0.0##

descreve o nmero com pelo menos 1 casa decimal e no mximo trs casas decimais.

Formatos numricos especiais


O Qlik Sense pode interpretar e formatar nmeros em qualquer raiz entre 2 e 36 incluindo binrio, octal e
hexadecimal. Ele tambm pode lidar com formatos romanos.

Formato binrio

Para indicar o formato binrio, o cdigo de formato deve comear com (bin) ou
(BIN).

Formato octal

Para indicar o formato octal, o cdigo de formato deve comear com (oct) ou
(OCT).

Formato

Para indicar o formato hexadecimal, o cdigo de formato deve comear com


(hex) ou (HEX). Se a verso em maisculas for utilizada, A-F sero usadas para
formato (por exemplo, 14FA). A verso em minsculas resultar no formato
com a-f (por exemplo 14fa). A interpretao funcionar para ambas as
variantes, independentemente da caixa usada no cdigo de formato.

hexadecimal

Formato decimal

O uso de (dec) ou (DEC) para indicar o formato decimal permitido, mas


desnecessrio.

Formato

Para indicar o formato em qualquer raiz entre 2 e 36, o cdigo de formato


dever comear com (rxx) ou (Rxx) onde xx o nmero de dois dgitos que
denota a raiz a seu usada. Se for usado o R maisculo, as letras em razes
acima de 10 sero transformadas em maisculas quando o Qlik Sense estiver
formatando (por exemplo, 14FA). O r minsculo resultar no formato com letras
minsculas (por exemplo, 14fa). A interpretao funcionar para ambas as
variantes, independentemente da caixa usada no cdigo de formato. Note que
(r02) o equivalente de (bin), (R16) o equivalente de (HEX) e assim por
diante.

personalizado radix

Carregando e modelando dados - Qlik Sense, 2.0.2

78

3 Carregando dados com o script de carga de dados


Formato romano

Para indicar o formato de nmeros romanos, o cdigo de formato deve comear


com (rom) ou (ROM). Se a verso em maisculas for utilizada, as letras
maisculas sero usadas para formato (por exemplo, MMXVI). A verso em
minsculas resultar no formato com letras minsculas (mmxvi). A
interpretao funcionar para ambas as variantes, independentemente da caixa
usada no cdigo de formato. Os nmeros romanos so generalizados com o
sinal de menos para nmeros negativos e 0 para zero. As casas decimais so
ignoradas no formato em nmeros romanos.

Exemplos:
num(199, '(bin)')

retorna

11000111

num(199, '(oct)')

retorna

307

num(199, '(hex)')

retorna

c7

num(199, '(HEX)' )

retorna

C7

num(199, '(r02)' )

retorna

11000111

num(199, '(r16)')

retorna

c7

num(199, '(R16)' )

retorna

C7

num(199, '(R36)')

retorna

5J

num(199, '(rom)')

retorna

cxcix

num(199, '(ROM)' )

retorna

CXCIX

Datas
Voc pode usar os seguintes smbolos para formatar uma data. possvel usar separadores arbitrrios.

Para descrever o dia, use o smbolo "D" para cada dgito.

Para descrever o nmero do ms, use o smbolo "M".


l
l

Use "M" ou "MM" para um ou dois dgitos.


"MMM" indica o nome abreviado do ms em letras, conforme definido pelo sistema
operacional ou pela substituio de varivel do sistema MonthNames no script.
"MMMM" indica o nome longo do ms em letras, conforme definido pelo sistema
operacional ou pela substituio de varivel do sistema LongMonthNames no script.

Para descrever o ano, use o smbolo "Y" para cada dgito.

Carregando e modelando dados - Qlik Sense, 2.0.2

79

3 Carregando dados com o script de carga de dados


W

Para descrever o dia da semana, use o smbolo "W".


l

l
l

"W" retornar o nmero do dia (por exemplo, 0 para segunda-feira) como um nico
dgito.
"WW" retornar o nmero com dois dgitos (por exemplo, 02 para quarta-feira).
"WWW" mostrar a verso abreviada do nome do dia da semana (por exemplo, Seg),
conforme definido pelo sistema operacional ou pela substituio de varivel do sistema
DayNames no script.
"WWWW" mostrar a verso longa do nome do dia da semana (por exemplo, Segundafeira), conforme definido pelo sistema operacional ou pela substituio de varivel do
sistema LongDayNames no script.

Exemplos: (com 31 de maro de 2013 como data de exemplo)


YY-MM-DD

descreve a data como 13-03-31.

YYYY-MM-DD

descreve a data como 3/31/13.

YYYY-MMM-DD

descreve a data como 2013-Mar-31.

DD MMMM YYYY

descreve a data como 31 de maro de 2013.

M/D/YY

descreve a data como 3/31/13.

W YY-MM-DD

descreve a data como 6 13-03-31.

WWW YY-MM-DD

descreve a data como Sb 13-03-31.

WWWW YY-MM-DD

descreve a data como Sbado 13-03-31.

Horas
Voc pode usar os seguintes smbolos para formatar uma hora. possvel usar separadores arbitrrios.

Para descrever as horas, use o smbolo "h" para cada dgito.

Para descrever os minutos, use o smbolo "m" para cada dgito.

Para descrever os segundos, use o smbolo "s" para cada dgito.

Para descrever as fraes de um segundo, use o smbolo "f" para cada dgito.

tt

Para descrever a hora no formato AM/PM, use o smbolo "tt" depois da hora.

Exemplos: (com 18:30 como hora de exemplo):


hh:mm

descreve a hora como 18:30

hh.mm.ss.ff

descreve a hora como 18.30.00.00

hh:mm:tt

descreve a hora como 06:30:pm

Carregando e modelando dados - Qlik Sense, 2.0.2

80

3 Carregando dados com o script de carga de dados


Data/hora
Na indicao de data/hora, ser utilizada a mesma notao para datas e horas apresentada.

Exemplos: (com 31 de maro de 2013 18:30 como data/hora de exemplo)


YY-MM-DD hh:mm

descreve a data/hora como 13-03-31 18:30

M/D/Y hh.mm.ss.ffff

descreve a data/hora como 3/31/13 18.30.00.0000

3.4

Entendendo as referncias circulares

Se existirem referncias circulares (loops) em uma estrutura de dados, as tabelas sero associadas de
forma que haja mais de um caminho de associaes entre dois campos.
Esse tipo de estrutura de dados deve ser evitado o mximo possvel, pois isso poderia levar a ambiguidades
na interpretao dos dados.

Trs tabelas com uma referncia circular

O Qlik Sense resolve o problema de referncias circulares interrompendo o loop com uma tabela
parcialmente desconectada. Quando Qlik Sense encontra estruturas de dados circulares ao executar o script
de carga, um dilogo de ateno ser mostrado e uma ou mais tabelas sero definidas como parcialmente
desconectadas. O Qlik Sense normalmente tenta desconectar a maior tabela no loop, e muitas vezes, uma
tabela de transaes a que deve ser desconectada. No visualizador do modelo de dados, as tabelas
parcialmente desconectadas so indicadas por links pontilhados em vermelho com outras tabelas.

Exemplo:
Os dados so carregados a partir de trs tabelas que incluem o seguinte:
l

Nomes de algumas selees de futebol nacionais

Clubes de futebol de algumas cidades

Cidades de alguns pases europeus

Carregando e modelando dados - Qlik Sense, 2.0.2

81

3 Carregando dados com o script de carga de dados

Visualizao das tabelas de dados de fonte

Essa estrutura de dados no muito boa, pois o nome do campo Team usado com duas finalidades
diferentes: equipes nacionais e locais. Os dados nas tabelas cria uma situao lgica impossvel.
Ao carregar as tabelas no Qlik Sense, o Qlik Sense determina quais conexes de dados so menos
importantes e desconecta essa tabela.
Abra o Visualizador do modelo de dados para ver como o Qlik Sense interpreta a relevncia das
conexes de dados:

Visualizao das referncias circulares observadas por links pontilhados em vermelho

A tabela com cidades e os pases a que pertencem agora est parcialmente conectada tabela com
selees nacionais de pases diferentes e tabela com clubes locais de cidades diferentes.

Resolvendo referncias circulares


Quando ocorrem referncias circulares, voc precisa editar o script de carga de dados atribuindo um nome
exclusivo a um dos campos com nomes idnticos.
Faa o seguinte:

1. Abra o editor de carga de dados.


2. Edite o comando LOAD de um dos nomes de campo duplicados.

Carregando e modelando dados - Qlik Sense, 2.0.2

82

3 Carregando dados com o script de carga de dados


Nesse exemplo, o comando LOAD da tabela que armazena as equipes locais e suas cidades incluiria
um nome para Team por exemplo LocalClub. O comando LOAD atualizado lido:
LOAD City, Team as LocalClub

3. Clique em na barra de ferramentas para recarregar os dados no aplicativo.


Agora voc tem uma lgica que funciona em todas as tabelas. Nesse exemplo, quando Germany
selecionado, a seleo de futebol, as cidades alems e os clubes locais de cada cidade so associados:

Ao abrir o Visualizador do modelo de dados, voc percebe que as conexes parcialmente


desconectadas so substitudas por conexes regulares:

3.5

Renomeando campos

Algumas vezes, necessrio renomear campos para obter as associaes desejadas. Os trs principais
motivos para renomear campos so:

1. Dois campos so nomeados de maneira diferente, ainda que denotem a mesma coisa:
l

O campo ID na tabela Customers

O campo CustomerID na tabela Orders

Os dois campos denotam um cdigo de identificao do cliente e devem ter o mesmo nome, como
CustomerID.

2. Dois campos so nomeados da mesma forma, mas denotam efetivamente coisas diferentes:
l

O campo Date na tabela Invoices

O campo Date na tabela Orders

Os dois campos devem ser preferencialmente renomeados para, por exemplo, InvoiceDate e

OrderDate.

Carregando e modelando dados - Qlik Sense, 2.0.2

83

3 Carregando dados com o script de carga de dados


3. Talvez haja erros, como erros ortogrficos, na base de dados ou convenes diferentes com base em
letras maisculas e minsculas.
Como os campos podem ser renomeados no script, no h necessidade de alterar os dados originais.
Existem duas formas diferentes de renomear campos, como demonstrado nos exemplos.

Exemplo 1: Usando o comando alias


O comando LOAD ou SELECT pode ser precedido de um comando alias.
Alias ID as CustomerID;
LOAD * from Customer.csv;

Exemplo 2: Usando o especificador as


O comando LOAD ou SELECT pode conter o especificador as.
LOAD ID as CustomerID, Name, Address, Zip, City, State from Customer.csv;

3.6

Concatenando tabelas

Concatenao automtica
Se os nomes de campo e o nmero de campos de duas ou mais tabelas carregadas forem exatamente os
mesmos, o Qlik Sense concatenar automaticamente o contedo dos comandos diferentes em uma tabela.

Exemplo:
LOAD a, b, c from table1.csv;
LOAD a, c, b from table2.csv;

A tabela interna resultante tem os campos a, b e c. O nmero de registros a soma do nmero de registros
na tabela 1 e na tabela 2.

A quantidade e os nomes dos campos devem ser exatamente os mesmos. A ordem dos dois
comandos arbitrria.

Concatenao forada
Mesmo se duas ou mais tabelas no tenham exatamente o mesmo conjunto de campos, ainda ser possvel
forar o Qlik Sense a concatenar as duas tabelas. Isso feito usando o prefixo concatenate no script, que
concatena uma tabela a outra tabela nomeada ou ltima tabela lgica criada anteriormente.

Exemplo:
LOAD a, b, c from table1.csv;
concatenate LOAD a, c from table2,csv;

Carregando e modelando dados - Qlik Sense, 2.0.2

84

3 Carregando dados com o script de carga de dados


A tabela interna resultante tem os campos a, b e c. O nmero de registros na tabela resultante a soma do
nmero de registros na tabela 1 e na tabela 2. O valor do campo b nos registros vindos da tabela 2 NULL.

A quantidade e os nomes dos campos devem ser exatamente os mesmos. A menos que o
nome de uma tabela carregada anteriormente seja especificado no comando concatenate, o
prefixo concatenate utilizar a ltima tabela criada anteriormente. Dessa forma, a ordem dos
dois comandos no arbitrria.

Evitando a concatenao
Se os nomes de campo e o nmero de campos de duas ou mais tabelas carregadas forem exatamente os
mesmos, o Qlik Sense concatenar automaticamente o contedo dos comandos diferentes em uma tabela.
Isso pode ser evitado com um comando noconcatenate. Assim, a tabela carregada com o comando LOAD
ou SELECT associado no ser concatenada com a tabela existente.

Exemplo:
LOAD a, b, c from table1.csv;
noconcatenate LOAD a, b, c from table2.csv;

3.7

Carregando dados de uma tabela carregada


anteriormente

Voc pode usar o predicado Resident em um comando LOAD para carregar dados de uma tabela
anteriormente carregada. Isso ser til quando voc quiser fazer clculos nos dados carregados com um
comando SELECT que no oferece a opo de utilizar as funes do Qlik Sense, como manipulao do
valor de data ou numrico.

Exemplo:
Nesse exemplo, a interpretao dos dados realizada no carregamento Resident, uma vez que no pode
ser feito no Crosstable LOAD inicial.
PreBudget:
Crosstable (Month, Amount, 1)
LOAD Account,
Jan,
Feb,
Mar,

From Budget;
Budget:
Noconcatenate
LOAD
Account,
Month(Date#(Month,MMM)) as Month,
Amount

Carregando e modelando dados - Qlik Sense, 2.0.2

85

3 Carregando dados com o script de carga de dados


Resident PreBudget;
Drop Table PreBudget;

Um caso comum para o uso de Resident quando voc deseja usar uma tabela temporria
para clculos ou filtragem. Depois de atingir o objetivo da tabela temporria, ela deve ser
descartada usando a declarao Drop table.

Resident ou LOAD precedente?


Na maioria dos casos, o mesmo resultado pode ser obtido usando o LOAD precedente, isto , um comando

LOAD que carrega a partir do comando LOAD ou SELECT abaixo, sem especificar um qualificador de
fonte como From ou Resident, como voc faria normalmente. Um LOAD precedente geralmente a opo
mais rpida, mas h alguns casos em que voc precisa usar o Resident LOAD:
l

Se voc quiser usar a clusula Order_by para classificar os registros antes de processar a declarao

LOAD.
l

Se voc quiser usar qualquer um dos seguintes prefixos, casos em que o LOAD precedente no
suportado:
l

Crosstable

Join

Intervalmatch

LOAD precedente
O recurso LOAD precedente permite carregar uma tabela em um nico passo, mas ainda define vrias
transformaes sucessivas. Basicamente, um comando LOAD que carrega do comando LOAD ou

SELECT abaixo, sem especificar um qualificador de fonte como From ou Resident como faria
normalmente. Voc pode empilhar qualquer nmero de comandos LOAD dessa forma. A declarao no
final ser avaliada primeiro, seguida da declarao acima e assim por diante at que a declarao superior
seja avaliada.
Voc pode conseguir o mesmo resultado usando Resident, mas na maioria dos casos, um LOAD
precedente ser mais rpido.
Outra vantagem do load precedente que voc pode manter um clculo em um lugar e reutiliz-lo em
comandos LOAD colocados acima.

Os seguintes prefixos no podem ser usados em combinao com o LOAD precedente: Join,
Crosstable e Intervalmatch.

Exemplo 1: Transformando os dados carregados por uma clculo SELECT

Carregando e modelando dados - Qlik Sense, 2.0.2

86

3 Carregando dados com o script de carga de dados


Se voc carregar dados de um banco de dados usando um comando SELECT, no ser possvel usar as
funes do Qlik Sense para interpretar os dados no comando SELECT. A soluo adicionar um comando

LOAD, no qual voc executar a transformao de dados, acima da declarao SELECT.


Neste exemplo, interpretamos uma data armazenada como um caractere usando a funo do Qlik Sense
Date# em um comando LOAD, usando o comando SELECT precedente como fonte.
LOAD Date#(OrderDate,YYYYMMDD) as OrderDate;
SQL SELECT OrderDate FROM ;

Exemplo 2: Simplificando o seu script reutilizando clculos


Neste exemplo, usamos um clculo mais de uma vez no script:
LOAD ...,
Age( FromDate + IterNo() 1, BirthDate ) as Age,
Date( FromDate + IterNo() 1 ) as ReferenceDate
Resident Policies
While IterNo() <= ToDate - FromDate + 1 ;

Ao introduzir o clculo em uma primeira passagem, podemos reutiliz-lo na funo Age em um LOAD
precedente:
LOAD ..., ReferenceDate,
Age( ReferenceDate, BirthDate ) as Age;
LOAD *,
Date( FromDate + IterNo() 1 ) as ReferenceDate
Resident Policies
While IterNo() <= ToDate - FromDate + 1 ;

3.8

Expanses de sinal de dlar

As expanses do sinal de dlar so definies de substituies do texto usado no script ou em expresses.


Esse processo conhecido como expanso, mesmo se o novo texto for menor. A substituio feita
imediatamente antes da avaliao da expresso ou do comando de script. Tecnicamente ela uma
expanso de macro.
Uma expanso de macro sempre comea com '$(' e termina com ') ', e o contedo entre parnteses define
como a substituio de texto ser realizada. Para evitar confuso com as macros de script, de agora em
diante as expanses de macro sero chamadas de expanses de sinal de dlar.
As expanses de sinal de dlar podem ser usadas com:
l

variveis

parmetros

expresses

Uma expanso de sinal de dlar limitada na quantidade de expanses que ela pode calcular.
Nenhuma expanso acima de 1000 ser calculada.

Carregando e modelando dados - Qlik Sense, 2.0.2

87

3 Carregando dados com o script de carga de dados


Expanso de sinal de dlar usando uma varivel
Ao utilizar uma varivel para a substituio de texto no script ou em uma expresso, usada a seguinte
sintaxe:

$(variablename)
$(variablename) expande para o valor na varivel. Se variablename no existir, a expanso resultar em
uma string vazia.
Para expanses variveis numricas, use a seguinte sintaxe:

$(#variablename)
Ela sempre gera uma representao de ponto decimal vlido do valor numrico da varivel, possivelmente
com notao exponencial (para nmeros muito grandes/pequenos). Se variablename no existir ou no
contiver um valor numrico, expandir para 0.

Exemplo:
SET DecimalSep=',';
LET X = 7/2;

A expanso de sinal de dlar $(X) expande para 3,5 e $(#X) expande para 3.5.

Exemplo:
Set Mypath=C:\MyDocs\Files\;
...
LOAD * from $(MyPath)abc.csv;

Os dados sero carregados de C:\MyDocs\Files\abc.csv.

Exemplo:
Set CurrentYear=1992;
...
SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);

As linhas com Year=1992 sero selecionadas.

Exemplo:
Set vConcatenate = ;
For each vFile in FileList('.\*.txt')
Data:
$(vConcatenate)
LOAD * FROM [$(vFile)];
Set vConcatenate = Concatenate ;
Next vFile

Neste exemplo, todos os arquivos .txt no diretrio so carregados usando o prefixo Concatenate. Isso pode
ser necessrio se os campos forem ligeiramente diferentes e, nesse caso, a concatenao automtica no
funciona. A varivel vConcatenate inicialmente configurada como uma string vazia, pois o prefixo
Concatenate no pode ser usado no primeiro carregamento. Se o diretrio contiver trs arquivos chamados

file1.txt, file2.txt e file3.txt, a declarao LOAD durante as trs iteraes ser expandida para:
LOAD * FROM[.\file1.txt];

Carregando e modelando dados - Qlik Sense, 2.0.2

88

3 Carregando dados com o script de carga de dados


Concatenate LOAD * FROM[.\file2.txt];
Concatenate LOAD * FROM[.\file3.txt];

Expanso de sinal de dlar usando parmetros


Os parmetros podem ser usados em expanses de sinal de dlar. A varivel deve conter parmetros
formais, como $1, $2, $3 etc. Quando a varivel for expandida, os parmetros devero ser especificados em
uma lista separada por vrgulas.

Exemplo:
Set MUL=$1*$2;
Set X=$(MUL(3,7)); // retorna '3*7' em X
Let X=$(MUL(3,7)); // retorna 21 em X

Se o nmero de parmetros formais exceder o nmero de parmetros reais, apenas os formais


correspondentes aos reais sero expandidos. Se o nmero de parmetros reais exceder o nmero de
parmetros formais, os parmetros reais excedentes sero ignorados.

Exemplo:
Set MUL=$1*$2;
Set X=$(MUL); // retorna '$1*$2' em X
Set X=$(MUL(10)); // retorna '10*$2' em X
Let X=$(MUL(5,7,8)); // retorna 35 em X

O parmetro $0 retorna o nmero de parmetros realmente passados por uma chamada.

Exemplo:
set MUL='$1*$2 $0 par';
set X=$(MUL(3,7)); // retorna '3*7 2 par' em X

Expanso de sinal de dlar usando uma expresso


Expresses podem ser usadas em expanses de sinal de dlar. O contedo entre parnteses deve comear
com um sinal de igual:

$(=expression )
A expresso ser avaliada e o valor ser usado na expanso.
Exemplo:
$(=Year(Today())); // retorna uma string com o ano atual.
$(=Only(Year)-1); // retorna o ano anterior ao selecionado.

Incluso de arquivo
Incluses de arquivo so feitas usando as expanses do sinal de dlar. A sintaxe :

Carregando e modelando dados - Qlik Sense, 2.0.2

89

3 Carregando dados com o script de carga de dados


$(include=filename )
O texto acima ser substitudo pelo contedo do arquivo especificado aps o sinal de igual. Esse recurso
bastante til ao armazenar scripts ou partes de scripts em arquivos de texto.
Exemplo:
$(include=C:\Documents\MyScript.qvs);

3.9

Usando aspas no script

Voc pode usar aspas em comandos de script de vrias maneiras diferentes.

Dentro dos comandos LOAD


Em um comando LOAD, os seguintes smbolos devem ser usados como aspas:

Nomes do campo

Literais de string

Descrio

Smbolo

Ponto de cdigo

Exemplo

aspas duplas

""

34

"string"

colchetes

[]

91, 93

[string]

acentos graves

``

96

`string`

aspas simples

''

39

'string'

Em comandos SELECT
Para um comando SELECT interpretado pelo driver ODBC, pode ser um pouco diferente. Normalmente,
voc deve utilizar aspas duplas retas (Alt + 0034) para nomes e aspas simples retas (Alt + 0039) para literais,
mas nunca acentos graves. No entanto, alguns drivers ODBC no somente aceitam acentos graves, como
tambm os preferem. Nesse caso, os comandos SELECT gerados contm acentos graves.

Exemplos de aspas no Microsoft Access


O Microsoft Access ODBC Driver 3.4 (includo no Microsoft Access 7.0) aceita as seguintes aspas ao analisar
a declarao SELECT:

Nomes de campos e de tabelas:

[]

Literais de cadeias de caracteres:

''

""

``

Outros bancos de dados podem ter diferentes convenes.

Fora dos comandos LOAD


Fora de um comando LOAD, nos lugares em que o Qlik Sense espera uma expresso, as aspas duplas
denotam uma referncia de varivel e no uma referncia de campo. Se voc usar aspas duplas, a string
includa entre elas ser interpretada como uma varivel e, em seguida, o valor da varivel ser usado.

Carregando e modelando dados - Qlik Sense, 2.0.2

90

3 Carregando dados com o script de carga de dados


Referncias de campo e referncias de tabela fora de contexto
Algumas funes de script referem-se a campos que j foram criados ou que esto na sada de um
comando LOAD, como por exemplo Exists() e Peek(). Essas referncias de campo so chamadas
referncias de campo fora de contexto, ao contrrio das referncias de campo de fonte, que se referem
aos campos que esto no contexto, ou seja, na tabela de entrada do comando LOAD.
Referncias de campo e referncias de tabela fora de contexto devem ser consideradas como literais e,
portanto, precisam de aspas simples.

Diferena entre nomes e literais


A diferena entre nomes e literais torna-se mais clara na comparao dos seguintes exemplos:

Exemplo:
'Sweden' as Country

Quando essa expresso usada como parte da lista de campos em um comando LOAD ou SELECT, a
string de texto " Sweden" ser carregada como valor de campo no campo Qlik Sense " Country".

Exemplo:
"land" as Country

Quando essa expresso usada como parte da lista de campos em um comando LOAD ou SELECT, o
contedo do campo de banco de dados ou coluna da tabela com o nome " land" ser carregado como valores
de campo do campo Qlik Sense " Country". Isto , land ser tratado como uma referncia de campo.

Diferena entre nmeros e literais de string


A diferena entre nomes e literais de string torna-se mais clara na comparao dos seguintes exemplos.

Exemplo:
'12/31/96'

Quando essa string usada como parte de uma expresso, na primeira etapa ela interpretada como a
string de texto "12/31/96", que por sua vez pode ser interpretada como uma data se o formato da data for
MM/DD/YY. Nesse caso, ser armazenada como um valor duplo com uma representao numrica e uma
textual.

Exemplo:
12/31/96

Quando essa string for usada como uma parte de uma expresso, ser interpretada numericamente como 12
dividido por 31 dividido por 96.

Usando caracteres de cota nica em uma string


Se voc precisar incluir caracteres de cota nica em uma string, possvel usar uma cota nica extra como
caractere de escape.

Carregando e modelando dados - Qlik Sense, 2.0.2

91

3 Carregando dados com o script de carga de dados


Exemplo:
A string '10 O''clock News' ser interpretada como Notcia das 10 horas.

3.10 Caracteres curingas nos dados


Tambm possvel usar caracteres curingas nos dados. Existem dois caracteres curingas diferentes: o
smbolo de asterisco, interpretado como todos os valores desse campo, e um smbolo opcional, interpretado
como todos os valores remanescentes desse campo.

O smbolo de asterisco
O smbolo de asterisco interpretado como todos os valores (listados) desse campo, isto , os valores
listados em qualquer lugar nessa tabela. Se for utilizado em um dos campos do sistema (USERID,

PASSWORD, NTNAME ou SERIAL) em uma tabela carregada na seo de acesso do script, ele ser
interpretado como todos os valores possveis desse campo (inclusive os no listados).
O smbolo de asterisco no permitido em arquivos de informaes. Alm disso, no pode ser utilizado em
campos chave, isto , campos utilizados para unir tabelas.
No haver smbolo de asterisco disponvel a menos que ele seja especificado explicitamente.

OtherSymbol
Em muitos casos, necessrio representar todos os demais valores em uma tabela, isto , os valores que
no foram encontrados explicitamente nos dados carregados. Isso feito com uma varivel especial
chamada OtherSymbol. Para definir que OtherSymbol seja tratado como todos os demais valores, use a
seguinte sintaxe:
SET OTHERSYMBOL=<sym>;

antes de um comando LOAD ou SELECT. <sym> pode ser qualquer string.


A ocorrncia do smbolo definido em uma tabela interna far com que o Qlik Sense o defina como todos os
valores no carregados anteriormente no campo em que for encontrado. Os valores encontrados no campo
aps a ocorrncia de OtherSymbol sero, dessa forma, descartados.
Para restaurar essa funcionalidade, use:
SET OTHERSYMBOL=;

Exemplo:
Table Customers
CustomerID

Name

ABC Inc.

XYZ Inc.

Carregando e modelando dados - Qlik Sense, 2.0.2

92

3 Carregando dados com o script de carga de dados


3

ACME INC

Undefined

Table Orders
CustomerID

Name

1234

1243

1248

1299

Insira o seguinte comando no script antes do ponto em que a primeira tabela acima carregada:
SET OTHERSYMBOL=+;

Qualquer referncia a um CustomerID diferente de 1, 2 ou 3, por exemplo, ao clicar em OrderID 1299,


resultar em Undefined em Name.

OtherSymbol no tem o propsito de ser utilizado para criar unies externas entre tabelas.

3.11

Tratamento do valor NULL

Quando nenhum dado puder ser produzido para um determinado campo como resultado de uma consulta
base de dados e/ou de uma juno entre tabelas, geralmente o resultado ser normalmente um valor NULL.
A lgica do Qlik Sense trata as seguintes ocorrncias como valores NULL:
l
l

l
l

Valores NULL retornados de uma conexo ODBC


Valores NULL criados como resultado de uma concatenao forada de tabelas no script de carga de
dados.
Valores NULL criados como resultado de uma juno feita no script de carga de dados
Valores NULL criados como resultado da gerao de combinaes de valores de campo a serem
mostrados em uma tabela

Geralmente, impossvel usar esses valores NULL para associaes e selees, exceto
quando o comando NullAsValue estiver sendo usado.
Por definio, os arquivos de texto no podem conter valores NULL.

Associando/selecionando valores NULL do ODBC


possvel associar e/ou selecionar valores NULL de uma fonte de dados ODBC. Para isso, foi definida uma
varivel de script. A seguinte sintaxe pode ser usada:

SET NULLDISPLAY=<sym>;

Carregando e modelando dados - Qlik Sense, 2.0.2

93

3 Carregando dados com o script de carga de dados


O smbolo <sym> substituir todos os valores NULL da fonte de dados ODBC no nvel mais baixo da entrada
de dados. <sym> pode ser qualquer string.
Para restaurar essa funcionalidade interpretao padro, use a seguinte sintaxe:

SET NULLDISPLAY=;
O uso de NULLDISPLAY afeta somente os dados de uma fonte de dados ODBC.
Se desejar que a lgica do Qlik Sense interprete valores NULL retornados de uma conexo ODBC como uma
string vazia, inclua o seguinte texto no script antes de qualquer declarao SELECT:

SET NULLDISPLAY=";
Aqui, '' realmente significa duas aspas simples sem nada entre elas.

Criando valores NULL de arquivos de texto


possvel definir um smbolo que, quando ocorrer em um arquivo de texto ou em uma clusula inline, seja
interpretado como um valor NULL real. Use o seguinte comando:

SET NULLINTERPRET=<sym>;
O smbolo <sym> deve ser interpretado como NULL. <sym> pode ser qualquer string.
Para restaurar essa funcionalidade interpretao padro, use:

SET NULLINTERPRET=;
O uso de NULLINTERPRET afeta somente os dados de arquivos de texto e clusulas inline.

Propagao de valores NULL em expresses


Os valores NULL se propagaro por meio de uma expresso de acordo com algumas regras lgicas e
bastante razoveis.

Funes
A regra geral que as funes retornam NULL quando os parmetros ficam fora do intervalo para o qual a
funo est definida.

Exemplo:
asin(2)

retorna

NULL

log(-5)

retorna

NULL

round(A,0)

retorna

NULL

Carregando e modelando dados - Qlik Sense, 2.0.2

94

3 Carregando dados com o script de carga de dados


Como resultado, as funes em geral retornam NULL quando qualquer um dos parmetros necessrios
avaliao NULL.

Exemplo:
sin(NULL)

retorna

NULL

chr(NULL)

retorna

NULL

if(NULL, A, B)

retorna

NULL

if(True, NULL, A)

retorna

NULL

if(True, A, NULL)

retorna

A exceo segunda regra so as funes lgicas para teste de tipo.

Exemplo:
isnull(NULL)

retorna

True (-1)

isnum(NULL)

retorna

False (0)

Operadores aritmticos e de string


Se NULL for encontrado em qualquer lado desses operadores, o resultado ser NULL.

Exemplo:
A

NULL

retorna

NULL

NULL

retorna

NULL

NULL

retorna

NULL

NULL

retorna

NULL

NULL

retorna

NULL

NULL

retorna

NULL

NULL

retorna

NULL

&

NULL

retorna

Operadores relacionais
Se NULL for encontrado em qualquer lado dos operadores relacionais, sero aplicadas regras especiais.

Exemplo:

Carregando e modelando dados - Qlik Sense, 2.0.2

95

3 Carregando dados com o script de carga de dados


NULL

rel.op

NULL

retorna

NULL

<>

NULL

retorna

True (-1)

<

NULL

retorna

False (0)

<=

NULL

retorna

False (0)

NULL

retorna

False (0)

>=

NULL

retorna

False (0)

>

NULL

retorna

False (0)

Carregando e modelando dados - Qlik Sense, 2.0.2

96

4.1

Trabalhando com arquivos QVD

Um arquivo QVD (QlikView Data) um arquivo que contm uma tabela de dados exportada do Qlik Sense.
O QVD um formato nativo do Qlik e pode ser gravado e lido apenas pelo Qlik Sense ou QlikView. O
formato de arquivo otimizado para velocidade na leitura de dados de um script do e ao mesmo tempo
compacto. A leitura de dados de um arquivo QVD geralmente de 10 a 100 vezes mais rpida do que a
leitura de outras fontes de dados.
Os arquivos QVD podem ser lidos em dois modos, padro (rpido) e otimizado (mais rpido). O modo
selecionado determinado automaticamente pelo mecanismo de script. O modo otimizado pode ser usado
apenas quando todos os campos so lidos sem transformaes (frmulas que atuam nos campos), embora a
renomeao de campos seja permitida. Uma clusula where que faz o Qlik Sense descompactar os registros
tambm desativar a carga otimizada.
Um arquivo QVD contm exatamente uma tabela de dados e composto por trs partes:

1. Cabealho.
Se o arquivo QVD tiver sido gerado com o QlikView, o cabealho ser do tipo
XML composto de modo apropriado (no conjunto de caracteres UTF-8), que
descreve os campos da tabela, o layout das informaes posteriores e alguns
outros metadados.
2. Tabelas de smbolos em um formato com bytes.
3. Dados da tabela em um formato com bits.

Objetivo dos arquivos QVD


os arquivos QVD podem ser usados para vrios fins. Pelo menos quatro usos principais podem ser
facilmente identificados. Mais de um deles pode se aplicar em determinadas situaes:

Aumentando a velocidade de carga


Se forem armazenados em buffer blocos de dados de entrada de arquivos QVD, que no mudam ou mudam
aos poucos, a execuo do script ficar consideravelmente mais rpida para conjuntos grandes de dados.

Diminuindo a carga nos servidores de base de dados


O volume de dados lidos de fontes de dados externas pode tambm ser bastante reduzido. Isso reduz a
carga de trabalho dos bancos de dados externos e o trfego de rede. Alm disso, quando vrios scripts
compartilham os mesmos dados, basta carreg-los uma vez do banco de dados de origem em um arquivo
QVD. Os outros aplicativos podem usar os mesmos dados por meio desse arquivo QVD.

Consolidando dados de vrios aplicativos


Com o comando de script binary, possvel carregar dados de um nico aplicativo em outro aplicativo, mas
com os arquivos QVD, um script capaz de combinar dados de vrios aplicativos. Isso possibilita que os
aplicativos consolidem dados semelhantes de diferentes unidades de negcios, por exemplo.

Carregando e modelando dados - Qlik Sense, 2.0.2

97

Carga incremental
Em muitos casos comuns, a funcionalidade QVD pode ser usada para a carga incremental, para carregar
apenas novos registros de um banco de dados crescente.

Criando arquivos QVD


Os arquivos QVD podem ser criados de duas maneiras:

1. Criao e nomeao explcitas, usando o comando store no script. Indique no script que uma
tabela lida anteriormente ou parte dela deve ser exportada para um arquivo nomeado de
forma explcita em um local de sua escolha.
2. Criao e manuteno automticas a partir do script. Se um comando LOAD ou SELECT for
precedido do novo prefixo buffer, o Qlik Sensecriar automaticamente um arquivo QVD que,
se determinadas condies forem atendidas, pode ser usado no lugar da fonte de dados
original ao recarregar os dados.
No h diferena entre os arquivos QVD resultantes, por exemplo, em relao velocidade de leitura, etc.

Lendo os dados de arquivos QVD


Um arquivo QVD pode ser lido ou acessado pelos seguintes mtodos:

1. Carregando um arquivo QVD como uma fonte de dados explcita. Os arquivos QVD podem ser
referenciados por um comando LOAD no script, como qualquer outro tipo de arquivo de texto
(csv, fix, dif, biff, etc).
Exemplo:
LOAD * from xyz.qvd (qvd);
LOAD Name, RegNo from xyz.qvd (qvd);
LOAD Name as a, RegNo as b from xyz.qvd (qvd);
2. Carregando automaticamente os arquivos QVD armazenados em buffer. Ao usar o prefixo
buffer em comandos LOAD ou SELECT, nenhum comando explcito para leitura
necessrio. O Qlik Sense determinar como usar os dados do arquivo QVD, ao contrrio da
obteno de dados com o uso do comando original LOAD ou SELECT.
3. Acessando arquivos QVD a partir do script. Vrias funes de script (todas comeando com
qvd) podem ser usadas para recuperar diversas informaes dos dados contidos no cabealho
XML de um arquivo QVD.

4.2

Gerenciando a segurana com seo de acesso

Voc pode utilizar a seo de acesso no script de carga de dados para administrar a segurana. Nesse caso,
um nico arquivo pode ser utilizado para manter os dados de vrios usurios ou grupos de usurios. O Qlik
Sense utilizar as informaes contidas na seo de acesso para autenticao e autorizao e reduzir
dinamicamente os dados para que o usurio visualize apenas seus prprios dados.

Carregando e modelando dados - Qlik Sense, 2.0.2

98

A segurana criada no prprio arquivo, o que significa que um arquivo baixado tambm estar protegido
at certo ponto. No entanto, se as demandas de seguranas forem altas, o download de arquivos e uso offline devero ser evitados, e os arquivos devero ser publicados somente pelo servidor do Qlik Sense. Como
todos os dados sero mantidos em um arquivo, o tamanho desse arquivo poder ser potencialmente muito
grande.

Sees no script
O controle de acesso gerenciado por meio de uma ou vrias tabelas de segurana carregadas da mesma
forma que o Qlik Sense normalmente carrega os dados. O que possibilita o armazenamento dessas tabelas
em um banco de dados normal. Os comandos de script que gerenciam as tabelas de segurana so
fornecidos na seo de acesso, que iniciada no script pelo comando Section Access.
Se uma seo de acesso estiver definida no script, a parte do script que carrega os dados do aplicativo deve
ser colocada em uma seo diferente, iniciada pelo comando Section Application.

Exemplo:
Section Access;
LOAD * inline
[ACCESS,USERID
USER,U ];
Section Application;
LOAD... ... from... ...

Campos do sistema de seo de acesso


Os nveis de acesso so atribudos aos usurios em uma ou vrias tabelas carregadas na seo de acesso.
Essas tabelas podem conter vrios campos do sistema especficos do usurio, geralmente USERID e o
campo que define o nvel de acesso, ACCESS. Todos os campos do sistema de seo de acesso sero
usados na autenticao ou autorizao. O conjunto completo de campos do sistema de seo de acesso
est descrito abaixo.
Nenhuma, todas ou qualquer combinao de campos de segurana pode ser carregada na seo de acesso.
Portanto, no necessrio usar USERID uma autorizao pode ser feita usando outros campos, por
exemplo, apenas o nmero de srie.

ACCESS

Define o tipo de acesso que o usurio correspondente deve ter.


O acesso a aplicativos Qlik Sense pode ser autorizado para usurios ou grupos de usurios
especificados. Na tabela de segurana, possvel atribuir nveis de acesso ADMIN ou USER.
Se nenhum nvel de acesso for atribudo, o usurio no poder abrir o aplicativo.
Uma pessoa com privilgios de ADMIN tem acesso a todos os dados do aplicativo. Uma
pessoa com privilgios de USER pode acessar dados somente conforme a definio na
tabela de segurana.

USERID

Contm um caractere correspondente a um nome de usurio Qlik Sense. O Qlik Sense


obter informaes de log-on do Proxy e as comparar com o valor neste campo.

Carregando e modelando dados - Qlik Sense, 2.0.2

99

GROUP

Contm um caractere correspondente a um grupo no Qlik Sense. O Qlik Sense resolver o


usurio fornecido pelo proxy contra esse grupo.

OMIT

Contm o nome do campo que deve ser omitido para esse usurio especfico. Os caracteres
curinga podem ser usados e o campo pode ficar vazio. Uma forma fcil de fazer isto usar
um subfield.

Voc no deve aplicar OMIT em campos chaves, j que isso alterar a


estrutura de dados subjacente. O que pode criar ilhas lgicas e inconsistncias
de clculo.

O Qlik Sense comparar o usurio fornecido pelo proxy com o UserID e resolver o usurio contra grupos na
tabela. Se o usurio pertence a um grupo ao qual o acesso permitido, ou o usurio combina, ele receber
acesso ao aplicativo.

Se voc tiver se bloqueado de um aplicativo ao configurar o acesso da seo, possvel abrir


o aplicativo sem dados e editar a seo de acesso no script de carga de dados. Isso requer
que voc tenha acesso para editar e executar o script de carga de dados.

Como a mesma lgica interna, que a marca do Qlik Sense, tambm usada na seo de acesso, os
campos de segurana podem ser colocados em tabelas diferentes. Todos os campos listados nos comandos
LOAD ou SELECT na seo de acesso devem ser escritos em MAISCULAS. Converta todos os nomes de
campo que contm letras minsculas no banco de dados para maisculas usando a funo Upper antes de
ler o campo pelo comando LOAD ou SELECT.
Um curinga, *, interpretado como todos os valores (listados) desse campo, isto , um valor listado em
qualquer lugar nesta tabela. Se for utilizado em um dos campos do sistema (USERID, GROUP) em uma
tabela carregada na seo de acesso do script, ele ser interpretado como todos os valores possveis desse
campo (inclusive os no listados).

Ao carregar dados de um arquivo QVD, o uso da funo upper diminuir a velocidade de


carregamento.

Se voc tiver habilitado a seo de acesso, no poder usar os nomes de campo do sistema
da seo de acesso listados neste como nomes de campo em seu modelo de dados.

Exemplo:
Neste exemplo, apenas usurios do grupo financeiro podem abrir o documento.
ACCESS

GROUP

USER

Finance

Carregando e modelando dados - Qlik Sense, 2.0.2

100

Reduo dinmica de dados


O Qlik Sense suporta o recurso de reduo dinmica de dados, pelo qual parte dos dados em um aplicativo
pode ser oculta do usurio, com base no login de acesso seo:
l
l

Campos (colunas) podem ser ocultos com o uso do campo do sistema OMIT.
Registros (linhas) podem ser ocultos vinculando os dados de acesso seo aos dados reais: A
seleo de valores que sero mostrados/excludos controlada pela existncia de um ou mais
campos com nomes comuns no acesso seo e no aplicativo da seo. Depois do login do usurio,
o Qlik Sense tentar copiar as selees nos campos de seo de acesso em quaisquer campos de
seo de aplicativo, exatamente com os mesmos nomes de campo (os nomes de campos devem ser
escritos em MAISCULAS). Depois de feitas as selees, o Qlik Sense ocultar permanentemente
do usurio todos os dados que foram excludos por essas selees.

Todos os nomes de campos usados na transferncia descrita anteriormente e todos os valores


desses campos devem estar em letras maisculas, pois todos os nomes e valores de campo
so, por padro, convertidos em maisculas na seo de acesso.

Exemplo:
section access;
LOAD * inline [
ACCESS, USERID,REDUCTION, OMIT
USER, AD_DOMAIN\ADMIN,*,
USER, AD_DOMAIN\A,1,
USER, AD_DOMAIN\B, 2,NUM
USER, AD_DOMAIN\C, 3, ALPHA
USER, INTERNAL\SA_SCHEDULER,*,
];
section application;
T1:
LOAD *,
NUM AS REDUCTION;
LOAD
Chr( RecNo()+ord(A)-1) AS ALPHA,
RecNo() AS NUM
AUTOGENERATE 3;

Agora, o campo REDUCTION (em maisculas) existe no acesso seo e no aplicativo da seo (todos os
valores de campo tambm esto em maisculas). Normalmente, os dois campos seriam totalmente
diferentes e separados, mas ao usar o acesso seo, estes campos vincularo e reduziro o nmero de
registros exibidos para o usurio.
O campo OMIT no acesso seo define os campos que devem ser ocultos do usurio.
O resultado ser:
l

O usurio ADMIN pode visualizar todos os campos e apenas os registros que outros usurios podem
visualizar neste exemplo quando REDUCTION for 1,2 ou 3.
O usurio A pode visualizar todos os campos, mas apenas os registros conectados a REDUCTION=1.

Carregando e modelando dados - Qlik Sense, 2.0.2

101

O usurio B pode visualizar todos os campos, exceto NUM, e apenas os registros conectados a
REDUCTION=2.
O usurio C pode visualizar todos os campos, exceto ALPHA, e apenas os registros conectados a
REDUCTION=3.

O usurio da conta INTERNAL\SA_SCHEDULER necessrio para ativar o recarregamento


do script em uma tarefa Qlik Management Console.

Restries de acesso herdadas


Uma carga binria far com que as restries de acesso sejam herdadas pelo novo aplicativo Qlik Sense.

4.3

Acessando grandes conjuntos de dados com Direct


Discovery

O Direct Discovery expande os recursos associativos do modelo de dados na memria do Qlik Sense ao
fornecer acesso a dados de origem adicionais por meio de uma consulta agregada, que associa
perfeitamente grandes conjuntos de dados com dados da memria. O Direct Discovery aumenta a
capacidade dos usurios de negcios de realizar anlises associativas em grandes fontes de dados, sem
limitaes. As selees podem ser feitas nos dados da memria e nos dados do Direct Discovery para
visualizar associaes entre os conjuntos de dados com as mesmas cores de associao do Qlik Sense
verde, branco e cinza. As visualizaes podem analisar simultaneamente os dados dos dois conjuntos de
dados.
Os dados so selecionados para o Direct Discovery com uma sintaxe de script especial, DIRECT QUERY.
Quando a estrutura do Direct Discovery for estabelecida, os campos do Direct Discovery podem ser usados
juntamente com os dados da memria para criar objetos do Qlik Sense. Quando um campo do Direct
Discovery usado em um objeto do Qlik Sense, uma consulta do SQL executada automaticamente na
fonte de dados externa.

Diferenas entre os dados em memria e os dados do Direct


Discovery
Modelo na memria
No modelo na memria do Qlik Sense, todos os valores exclusivos nos campos selecionados a partir de uma
tabela no script de carga so carregados nas estruturas de campo e os dados associativos so
simultaneamente carregados na tabela. Os dados de campo e os dados associativos so mantidos na
memria.

Carregando e modelando dados - Qlik Sense, 2.0.2

102

Uma segunda tabela relacionada, carregada na memria compartilharia um campo comum, e essa tabela
poderia adicionar novos valores exclusivos ao campo comum ou poderia compartilhar os valores existentes.

Carregando e modelando dados - Qlik Sense, 2.0.2

103

Direct Discovery
Quando os campos da tabela so carregados com um comando Direct DiscoveryLOAD (Direct Query), uma
tabela semelhante criada apenas com os campos DIMENSION . Como ocorre com os campos da
memria, os valores exclusivos dos campos DIMENSION so carregados na memria. No entanto, as
associaes entre os campos so deixadas no banco de dados.

Carregando e modelando dados - Qlik Sense, 2.0.2

104

MEASURE so valores dos campos tambm deixados no banco de dados.

Carregando e modelando dados - Qlik Sense, 2.0.2

105

Depois que a estrutura do Direct Discovery estabelecida, os campos do Direct Discovery podem ser usados
com determinados objetos de visualizao e podem ser usados para associaes com os campos da
memria. Quando um campo do Direct Discovery usado, o Qlik Sense automaticamente cria a consulta do
SQL adequada para ser executada nos dados externos. Quando as selees so feitas, os valores dos dados
associados dos campos do Direct Discovery so usados nas condies WHERE das consultas do banco de
dados.
Com cada seleo, as visualizaes com os campos do Direct Discovery so recalculadas, com os clculos
ocorrendo na tabela do banco de dados de origem, por meio da execuo da consulta do SQL criada pelo
Qlik Sense. O recurso da condio do clculo pode ser usado para especificar quando as visualizaes
devem ser recalculadas. At que a condio seja atendida, o Qlik Sense no envia consultas para recalcular
as visualizaes.

Diferenas de desempenho entre os campos da memria e os campos do


Direct Discovery
O processamento na memria sempre mais rpido do que o processamento nos bancos de dados de
origem. O desempenho do Direct Discovery reflete o desempenho do sistema que executa o banco de dados
que processa as consultas do Direct Discovery.

Carregando e modelando dados - Qlik Sense, 2.0.2

106

possvel usar as prticas recomendadas de ajuste de consulta e banco de dados para o Direct Discovery.
Todo o ajuste de desempenho deve ser feito no banco de dados de origem. O Direct Discovery no oferece
suporte para o ajuste de desempenho da consulta a partir do aplicativo Qlik Sense. No entanto, possvel
fazer chamadas paralelas e assncronas para o banco de dados com o recurso de pool de conexo. A sintaxe
do script de carga para configurar o recurso de pool a seguinte:
SET DirectConnectionMax=10;

O armazenamento em cache do Qlik Sense tambm melhora a experincia geral do usurio. Consulte
Armazenamento em cache e o Direct Discovery (pgina 108) abaixo.
O desempenho do Direct Discovery com os campos DIMENSION tambm pode ser melhorado
desvinculando alguns dos campos das associaes. Isto feito com a palavra-chave DETACH em DIRECT

QUERY. Embora os campos desvinculados no sejam consultados para associaes, eles ainda fazem
parte dos filtros, acelerando os tempos de seleo.
Embora ambos os campos da memria do Qlik Sense e os campos DIMENSION do Direct Discovery
mantenham todos os seus dados na memria, a maneira pela qual eles so carregados afeta a velocidade
das cargas na memria. Os campos da memria do Qlik Sense mantm apenas uma cpia do valor de
campo quando existirem vrias instncias do mesmo valor. No entanto, todos os dados do campo so
carregados e, em seguida, os dados duplicados so classificados.

DIMENSION so campos que tambm armazenam uma cpia do valor de campo, mas os valores
duplicados so classificados no banco de dados antes de serem carregados na memria. Ao lidar com
grandes quantidades de dados, como geralmente ocorre ao usar o Direct Discovery, os dados so carregados
mais rapidamente como uma carga DIRECT QUERY do que seriam por meio da carga SQL SELECT,
usada para os campos da memria.

Diferenas entre os dados da memria e os dados do banco de dados


DIRECT QUERY faz distino entre maisculas e minsculas ao fazer associaes com os dados da
memria. O Direct Discovery seleciona os dados dos bancos de dados de origem, de acordo com a distino
entre maisculas e minsculas do banco de dados. Se um banco de dados no fizer distino entre
maisculas e minsculas, uma consulta do Direct Discovery poderia retornar dados que uma consulta da
memria no retornaria. Por exemplo, se os seguintes dados existissem em um banco de dados que no
fizesse distino entre maisculas e minsculas, uma consulta do Direct Discovery do valor "Red" retornaria
todas as quatro linhas.
ColumnA

ColumnB

red

one

Red

two

rED

three

RED

four

Por outro lado, uma seleo na memria de "Red," retornaria apenas:


Red two

Carregando e modelando dados - Qlik Sense, 2.0.2

107

O Qlik Sense normaliza os dados na medida que gera correspondncias nos dados selecionados que os
bancos de dados no fariam correspondncias. Como resultado disso, uma consulta na memria pode gerar
mais valores de correspondncia do que uma consulta do Direct Discovery. Por exemplo, na tabela a seguir,
os valores para o nmero "1" variam pelo local de espaos ao seu redor:
ColumnA

ColumnB

' 1'

space_before

'1'

no_space

'1 '

space_after

'2'

two

Se voc selecionar "1" em uma Caixa de filtro para ColumnA, onde os dados esto na memria padro do
Qlik Sense, as primeiras trs linhas so associadas:
'
1'

space_before

'1'

no_space

'1
'

space_after

Se a Painel de filtro contiver Direct Discovery dados, a seleo de "1" poderia associar apenas "no_space".
As correspondncias retornadas para os dados do Direct Discovery dependem do banco de dados. Alguns
retornam apenas "no_space" e outros, como o SQL Server, retornam "no_space" e "space_after".

Armazenamento em cache e o Direct Discovery


O armazenamento em cache do Qlik Sense armazena estados de seleo das consultas na memria. J que
os mesmos tipos de selees so feitas, o Qlik Sense aproveita a consulta do cache, em vez de consultar os
dados de origem. Quando uma seleo diferente feita, uma consulta do SQL feita na fonte de dados. Os
resultados armazenados em cache so compartilhados entre os usurios.

Exemplo:
1. O usurio aplica a seleo inicial.
O SQL transmitido para a fonte de dados subjacente.
2. O usurio limpa a seleo e aplica a mesma seleo como uma seleo inicial.
O resultado do cache retornado e o SQL no transmitido para a fonte de dados subjacente.
3. O usurio aplica uma seleo diferente.
O SQL transmitido para a fonte de dados subjacente.
Um limite de tempo pode ser definido para o armazenamento em cache com a varivel do sistema
DirectCacheSeconds. Quando o limite de tempo alcanado, o Qlik Sense limpa o cache dos resultados
da consulta do Direct Discovery gerados para as selees anteriores. Em seguida, o Qlik Sense consulta as
selees dos dados de origem e cria novamente o cache para o limite de tempo designado.

Carregando e modelando dados - Qlik Sense, 2.0.2

108

O tempo de cache padro para os resultados da consulta do Direct Discovery de 30 minutos, a menos que
a varivel do sistema DirectCacheSeconds seja usada.

Tipos de campo do Direct Discovery


No Direct Discovery, existem trs tipos de campos de dados: DIMENSION, MEASURE e DETAIL. Os tipos
so definidos nos campos de dados quando a seleo do Direct Discovery feita com o comando Direct

Query no script de carga.


Todos os campos do Direct Discovery podem ser usados em combinao com campos na memria.
Normalmente, os campos com valores discretos que sero usados como dimenses devem ser carregados
com a palavra-chave DIMENSION, enquanto os dados numricos que sero usados em agregaes devem
ser marcados apenas como campos MEASURE. Os campos DIMENSION no podem ser usados em
expresses de objeto.
A tabela a seguir resume as caractersticas e os usos dos tipos de campo do Direct Discovery:

Tipo de

Em

Associao de

Usado em

campo

memria?

formulrios?

expresses de
grfico?

DIMENSION

Sim

Sim

Sim

MEASURE

No

No

Sim

DETAIL

No

No

No

Campos DIMENSION
Os campos DIMENSION so carregados na memria e podem ser usados para criar associaes entre
dados na memria e os dados dos campos do Direct Discovery. Os campos DIMENSION do Direct Discovery
tambm so usados para definir os valores de dimenso nos grficos.

Campos MEASURE
Os campos MEASURE, por outro lado, so reconhecidos em um "meta nvel". Os campos MEASURE no
so carregados na memria (no aparecero no visualizador do modelo de dados). O propsito permitir
que as agregaes dos dados nos campos MEASURE ocorram no banco de dados e no na memria.
Apesar disso, os campos MEASURE podem ser usados em expresses sem alterar a sintaxe de expresso.
Como resultado disso, o uso dos campos do Direct Discovery a partir do banco de dados transparente para
o usurio final.
As seguintes funes de agregao podem ser usadas com campos MEASURE:
l

Sum

Avg

Count

Carregando e modelando dados - Qlik Sense, 2.0.2

109

Min

Max

Campos DETAIL
Os campos DETAIL fornecem informaes ou detalhes que voc pode desejar exibir, mas no usar nas
expresses do grfico. Os campos DETAIL s podem ser usados em agregaes Count e s podem ser
visualizados em uma Tabela. Campos designados como DETAIL geralmente contm dados que no podem
ser agregados de forma significativa, como, por exemplo, comentrios.
Qualquer campo pode ser designado como um campo DETAIL.

Fontes de dados suportadas no Direct Discovery


O Qlik SenseDirect Discovery pode ser usado nas seguintes fontes de dados, com conexes de 32 e 64 bits;
l

Fontes de dados ODBC/OLEDB Todas as fontes ODBC/OLEDB so suportadas, incluindo SQL


Server, Teradata e Oracle.
Conectores personalizados que so compatveis com SQL Conector SAP SQL, conectores
personalizados QVX para fontes de dados compatveis com SQL.

As conexes de 32 e 64 bits so suportadas.

SAP
Para o SAP, Direct Discovery pode ser usado apenas com o Qlik SAP SQL Connector e requer os seguintes
parmetros nas variveis SET:
SET DirectFieldColumnDelimiter=' ';
SET DirectIdentifierQuoteChar=' ';

O SAP usa o OpenSQL, que delimita as colunas com um espao em vez de uma vrgula; por isso, os
comandos SET acima resultam em uma substituio para ajustar a diferena entre ANSI SQL e OpenSQL.

Google Big Query


O Direct Discovery pode ser usado com o Google Big Query e requer os seguintes parmetros nas variveis
SET:
SET DirectDistinctSupport=false;
SET DirectIdentifierQuoteChar='[]';
SET DirectIdentifierQuoteStyle='big query'

O Google Big Query no suporta SELECT DISTINCT ou nomes de coluna/tabela entre aspas e tem uma
configurao de aspas diferente do ANSI, com uso do '[]'.

MySQL e Microsoft Access


O Direct Discovery pode ser usado em conjunto com o MySQL e o Microsoft Access, mas pode exigir os
seguintes parmetros nas variveis SET, devido aos caracteres entre aspas usados nestas fontes:
SET DirectIdentifierQuoteChar='``';

Carregando e modelando dados - Qlik Sense, 2.0.2

110

Limitaes no uso do Direct Discovery


Tipos de dados suportados
Todos os tipos de dados so suportados no Direct Discovery, embora possa haver casos em que formatos de
dados de origem especficos precisem ser definidos para o Qlik Sense. Isto pode ser feito no script de carga
com a sintaxe "SET Direct...Format". O seguinte exemplo demonstra como definir o formato de data do
banco de dados de origem usado como a origem do Direct Discovery:

Exemplo:
SET DirectDateFormat='YYYY-MM-DD';

Existem tambm duas variveis de scripts para controlar a forma como o Direct Discovery formata valores do
tipo monetrio nos comandos SQL gerados:
SET DirectMoneyFormat (default '#.0000')
SET DirectMoneyDecimalSep (default '.')

A sintaxe para essas duas variveis a mesma que para MoneyFormat e MoneyDecimalSep, porm,
existem duas importantes diferenas no uso:
l

Como este no um formato de exibio, ele no deve incluir smbolos de moeda ou separadores de
milhares.
Os valores padro no so orientados pelo local, mas impressos nos valores. (Formatos especficos
para o local incluem o smbolo de moeda.)

O Direct Discovery pode suportar a seleo de dados Unicode estendidos usando o formato padro de SQL
para literais de caracteres estendidos (N'<extended string>'), conforme exigido por alguns bancos de dados,
como o SQL Server. Esta sintaxe pode ser ativada para o Direct Discovery com a varivel de script
DirectUnicodeStrings. Definir essa varivel para "true" ativa o uso de "N" na frente das laterais dos
caracteres.

Segurana
As prticas de segurana recomendadas descritas a seguir devem ser levadas em conta ao usar o Direct
Discovery:
l

l
l

Todos os usurios que usam o mesmo aplicativo com o recurso Direct Discovery, usam a mesma
conexo. A passagem de autenticao e as credenciais por usurio no so suportadas.
O Acesso Seo suportado apenas no modo de servidor.
possvel executar comandos de SQL personalizados no banco de dados com uma expresso com a
palavra-chave NATIVE; portanto, a conexo do banco de dados configurada no script de carga deve
usar uma conta que tenha um acesso somente leitura ao banco de dados.
O Direct Discovery no tem o recurso de registro em log, mas possvel usar o recurso de
rastreamento do ODBC.

possvel inundar o banco de dados com solicitaes do cliente.

possvel obter mensagens de erro detalhadas dos arquivos de log do servidor.

Carregando e modelando dados - Qlik Sense, 2.0.2

111

Funcionalidades do Qlik Sense no suportadas


Devido natura interativa e especfica para a sintaxe do SQL do Direct Discovery, vrios recursos no so
suportados:
l

Clculos avanados (Anlise de conjunto, expresses complexas)

Dimenses calculadas

Anlise comparativa (Estado alternativo) dos objetos que usam campos do Direct Discovery

Os campos Direct Discovery MEASURE e DETAIL no so suportados na pesquisa inteligente

Carga binria de um aplicativo que esteja acessando uma tabela do Direct Discovery

Loop e reduo

Chaves sintticas na tabela no Direct Discovery

A nomenclatura de tabelas no script no se aplica tabela do Direct Discovery

O uso do caractere curinga * aps a palavra-chave DIRECT QUERY no script de carga (DIRECT QUERY
*)

l
l

As tabelas do banco de dados do Oracle com colunas do tipo de dados LONG no so suportadas.
Nmero inteiros extensos na notao cientfica fora do intervalo [-9007199254740990,
9007199254740991] podem causar erros de arredondamento e comportamento no definido.

Suporte a vrias tabelas no Direct Discovery


possvel usar o Direct Discovery para carregar mais de uma tabela ou exibio usando a funcionalidade de
juno ANSI SQL. Em um nico grfico, todas as medidas devem ser derivadas da mesma tabela lgica do
Qlik Sense, mas isto pode ser uma combinao de vrias tabelas da origem vinculadas por comandos de
juno. No entanto, possvel usar dimenses provenientes de outras tabelas do mesmo grfico.
Por exemplo, voc pode vincular as tabelas carregadas com o Direct Discoveryusando uma clusula Where
ou Join.
l

Direct Discovery pode ser implantado em um cenrio de fato nico/dimenses mltiplas de memria
com conjuntos de dados grandes.
Direct Discovery pode ser usado com mais de uma tabela que deve corresponder a qualquer um dos
seguintes critrios:
l

A cardinalidade do campo chave na juno baixa.

A cardinalidade do campo chave na juno alta, DirectEnableSubquery definida como


verdadeira e todas as tabelas foram unidas com Direct Discovery.
Consulte: Usando subconsultas com o Direct Discovery (pgina 114)

Direct Discovery no adequado para implantao em um cenrio de Terceira forma normal com
todas as tabelas na forma Direct Discovery.

Vinculando tabelas do Direct Discovery com uma clusula Where


Neste script de exemplo, carregamos os dados do banco de dados AW2012. As tabelas Product e
ProductSubcategory esto vinculadas com uma clusula Where usando o campo comum
ProductSubCategoryID.

Carregando e modelando dados - Qlik Sense, 2.0.2

112

Product_Join:
DIRECT QUERY
DIMENSION
[ProductID],
[AW2012].[Production].[Product].[Name] as [Product Name],
[AW2012].[Production].[ProductSubcategory].[Name] as [Sub Category Name],
Color,
[AW2012].[Production].[Product].ProductSubcategoryID as [SubcategoryID]
MEASURE
[ListPrice]
FROM [AW2012].[Production].[Product],
[AW2012].[Production].[ProductSubcategory]
WHERE [AW2012].[Production].[Product].ProductSubcategoryID =
[AW2012].[Production].[ProductSubcategory].ProductSubcategoryID
;

Vinculando tabelas do Direct Discovery com clusulas Join On


Tambm possvel usar clusulas Join On para vincular tabelas do Direct Discovery. Neste comando de
exemplo, unimos a tabela SalesOrderHeader tabela SalesOrderDetail por meio do campo SalesOrderID e
tambm unimos a tabela Customer tabela SalesOrderHeader por meio do campo Customer ID.
Neste exemplo, criamos medidas da mesma tabela lgica, o que significa que podemos us-las no mesmo
grfico. Por exemplo, possvel criar um grfico com SubTotal e OrderQty como medidas.
Sales_Order_Header_Join:
DIRECT QUERY
DIMENSION
AW2012.Sales.Customer.CustomerID as CustomerID,
AW2012.Sales.SalesOrderHeader.SalesPersonID as SalesPersonID,
AW2012.Sales.SalesOrderHeader.SalesOrderID as SalesOrderID,
ProductID,
AW2012.Sales.Customer.TerritoryID as TerritoryID,
OrderDate,
NATIVE('month([OrderDate])') as OrderMonth,
NATIVE('year([OrderDate])') as OrderYear
MEASURE
SubTotal,
TaxAmt,
TotalDue,
OrderQty
DETAIL
DueDate,
ShipDate,
CreditCardApprovalCode,
PersonID,
StoreID,
AccountNumber,
rowguid,
ModifiedDate
FROM AW2012.Sales.SalesOrderDetail
JOIN AW2012.Sales.SalesOrderHeader
ON (AW2012.Sales.SalesOrderDetail.SalesOrderID =
AW2012.Sales.SalesOrderHeader.SalesOrderID)
JOIN AW2012.Sales.Customer

Carregando e modelando dados - Qlik Sense, 2.0.2

113

ON(AW2012.Sales.Customer.CustomerID =
AW2012.Sales.SalesOrderHeader.CustomerID);

No possvel fazer referncia a tabelas por alias na clusula FROM. necessrio usar o
nome completo da tabela.

Usando subconsultas com o Direct Discovery


Se a cardinalidade do campo chave unindo a tabela for alta, ou seja, se contiver um nmero grande de
valores distintos, uma seleo no Qlik Sense poder gerar um comando SQL muito grande, j que a clusula
WHERE key_field IN poder conter um nmero grande de valores. Nesse caso, uma soluo possvel
deixar o Qlik Sense criar subconsultas.
Para ilustrar isso, usamos um exemplo onde uma tabela de produtos (ProductTable) vinculada a uma
tabela de ordem de vendas (SalesOrderDetail) usando uma ID do produto (ProductID), com ambas as
tabelas usadas no modo Direct Discovery.

Criamos um grfico com OrderMonth como dimenso e Sum(Subtotal) como medida, e uma caixa de filtro
para seleo do Size.

Carregando e modelando dados - Qlik Sense, 2.0.2

114

Cenrio 1: Cardinalidade baixa


Nesse cenrio, a tabela do produto contm um baixo nmero de produtos distintos, 266. Se fizermos uma
seleo em Size, o Direct Discovery gerar um comando SQL para retornar os dados, usando uma clusula
WHERE ProductID IN, a qual conter as IDs do produto, fazendo correspondncia com o tamanho
selecionado, nesse caso, 19 produtos.

Carregando e modelando dados - Qlik Sense, 2.0.2

115

O SQL gerado tem a seguinte aparncia:


SELECT ProductID, month([OrderDate]), SUM(OrderQty), SUM(SubTotal)
FROM SalesTable
WHERE ProductID IN ( 12, 51, 67, 81, 89, 92, 100, 108, 142, 150, 151, 162, 191, 206, 220, 222, 251,
254)
GROUP BY ProductID, month([OrderDate])

Cenrio 2: Usando subconsultas


Se o mesmo exemplo contiver um nmero alto de produtos distintos, por exemplo 20.000, a seleo de um
filtro de dimenso Size, por exemplo, poder gerar um comando SQL com uma clusula WHERE

ProductID IN contendo milhares de IDs do produto. O comando resultante pode ser muito grande para ser
administrado pela fonte de dados devido a limitaes ou problemas de memria ou desempenho.
A soluo deixar o Qlik Sense criar subconsultas, configurando o DirectEnableSubquery como "true". O
comando SQL gerado poder ter a seguinte aparncia:
SELECT ProductID, month([OrderDate]), SUM(OrderQty), SUM(SubTotal)
FROM SalesTable
WHERE ProductID IN
( SELECT DISTINCT "AW2012"."dbo"."PRODUCT"."PRODUCTID" WHERE "AW2012"."dbo"."PRODUCT"."SIZE" IN (3))
GROUP BY ProductID, month([OrderDate])

O tamanho da clusula WHERE ProductID IN no depende mais do nmero de chaves resultante da


seleo.
As seguintes limitaes aplicam-se ao uso de subconsultas:
l

l
l

A sintaxe da subconsulta invocada somente quando voc selecionar dados que envolvam a
filtragem de grficos usando dados de outra tabela.
A quantidade de dados nas chaves o fator determinante, no o nmero de chaves.
As subconsultas so invocadas somente se todas as tabelas envolvidas estiverem no modo Direct
Discovery. Se voc filtrar o grfico usando dados de uma tabela includa no modo de memria, uma
clusula IN ser gerada.

Registrando em log o acesso ao Direct Discovery


Os comandos do Direct DiscoverySQL transmitidos para a fonte de dados podem ser registrados nos
arquivos de rastreamento da conexo com o banco de dados. Para uma conexo do ODBC padro, o
rastreamento iniciado com o Administrador da Fonte de Dados do ODBC:

Carregando e modelando dados - Qlik Sense, 2.0.2

116

O arquivo de rastreamento resultante detalha os comandos do SQL gerados pelas selees e interaes do
usurio.

Carregando e modelando dados - Qlik Sense, 2.0.2

117

5 Visualizando o modelo de dados

Visualizando o modelo de dados

O visualizador do modelo de dados fornece uma viso geral da estrutura de dados do aplicativo. possvel
visualizar os dados nas tabelas e campos no visualizador do modelo de dados. Tambm possvel criar
dimenses e medidas dinamicamente.

No visualizador de modelo de dados, cada tabela de dados representada por uma caixa com o nome da
tabela como ttulo e todos os campos da tabela listados. As associaes de tabela so mostradas com
linhas, com uma linha pontilhada indicando uma referncia circular. Quando voc seleciona uma tabela ou
um campo, o realce das associaes fornece instantaneamente uma imagem de como os campos e tabelas
esto relacionados.
Voc pode alterar o nvel de zoom clicando em Y, Z ou usando o boto deslizante. Clique em para
restaurar nvel de zoom para 1:1.

5.1

Exibies

Voc pode selecionar visualizar:


l
l

+ Visualizao de tabela interna - o modelo de dados do Qlik Sense incluindo campos sintticos
7 Visualizao da tabela de fonte - o modelo de dados das tabelas de dados de origem

Carregando e modelando dados - Qlik Sense, 2.0.2

118

5 Visualizando o modelo de dados

5.2

Movendo e redimensionando tabelas no visualizador


do modelo de dados

Movendo tabelas
Voc pode mover as tabelas arrastando-as na tela. As posies da tabela sero salvas quando o aplicativo
for salvo.
possvel bloquear o layout da tabela (posies e tamanhos) clicando em [ na parte direita da tela. Para
desbloquear o layout da tabela, clique em \.
Tambm possvel organizar o layout automaticamente usando as opes em na barra de ferramentas:
l
l
l

Layout de grade - organiza as tabelas em uma grade.


Layout automtico - organiza as tabelas para que se ajustem janela.
Restaurar layout - reverte ao ltimo estado de layout salvo.

Redimensionando tabelas
Voc pode ajustar o tamanho de exibio de uma janela com a seta vermelha no canto inferior direito de
uma tabela. O tamanho de exibio da tabela no ser salvo quando o aplicativo for salvo.
Tambm possvel usar as opes automticas de tamanho de exibio na barra de ferramentas:

tContrair todas - minimiza todas as tabelas para mostrar apenas o nome da tabela.
Mostrar campos vinculados - reduz o tamanho de todas as tabelas para mostrar o nome da tabela e
todos os campos com associaes a outras tabelas.

s Expandir tudo - maximiza todas as tabelas para mostrar todos os campos da tabela.

5.3

Visualizao de tabelas e campos no visualizador do


modelo de dados

No visualizador do modelo de dados, voc pode ver qualquer tabela de dados em um painel na parte inferior
da tela. Na visualizao, voc pode inspecionar rapidamente o contedo de uma tabela ou campo. Voc
tambm pode adicionar dimenses e medidas rapidamente caso selecione um campo.
Alm disso, metadados para a tabela ou campo selecionados so exibidos no painel de visualizao.
Voc pode exibir e ocultar o painel de visualizao de duas maneiras:
l
l

Clique em j na barra de ferramentas do visualizador do modelo de dados


Clique no cabealho Visualizar

Os dados do Direct Discovery no so exibidos na visualizao .

Carregando e modelando dados - Qlik Sense, 2.0.2

119

5 Visualizando o modelo de dados


Mostrando uma visualizao de uma tabela
Faa o seguinte:
l

Clique em um cabealho da tabela no visualizador do modelo de dados.

O painel de visualizao exibido com os campos e valores da tabela selecionada.

Mostrando uma visualizao de um campo


Faa o seguinte:
l

Clique em um campo da tabela no visualizador do modelo de dados.

O painel de visualizao exibido com o campo selecionado e seus valores, alm dos metadados para o
campo. Voc tambm pode adicionar o campo como uma dimenso ou medida mestre.

Densidade o nmero de registros que possuem valores diferentes de NULL nesse campo, em
comparao com o nmero total de registros na tabela.
Proporo de subconjunto o nmero de valores distintos do campo encontrados nessa tabela,
em comparao com o nmero total de valores distintos desse campo em outras tabelas no modelo
de dados. Isso s relevante para campos chave.

Carregando e modelando dados - Qlik Sense, 2.0.2

120

5 Visualizando o modelo de dados

5.4

Criando uma dimenso principal a partir do


visualizador do modelo de dados

Quando voc est trabalhando com um aplicativo no publicado, possvel criar dimenses mestres para
que elas possam ser reutilizadas. Os usurios de um aplicativo publicado tero acesso s dimenses
mestres em sua biblioteca, mas no podero modific-las.O visualizador do modelo de dados no est
disponvel em um aplicativo publicado.
Faa o seguinte:

1. No visualizador do modelo de dados, selecione um campo e abra o painel Visualizar.


2. Clique em Adicionar como dimenso.
O dilogo Criar novas dimenses aberto com o campo selecionado. O nome do campo
selecionado tambm usado como o nome padro da dimenso.
3. Altere o nome se quiser e, opcionalmente, adicione uma descrio e tags.
4. Clique em Adicionar dimenso.
5. Clique em Concludo para fechar o dilogo.
A dimenso salva na guia de itens mestres do painel de ativos.

Voc pode adicionar rapidamente vrias dimenses como itens mestres clicando em
Adicionar dimenso depois de adicionar cada dimenso. Clique em Concludo quando
terminar.

As tabelas do Direct Discovery so indicadas por no visualizador do modelo de dados.

5.5

Criando uma medio mestre a partir do visualizador


do modelo de dados

Quando voc est trabalhando com um aplicativo no publicado, possvel criar medidas mestres para que
elas possam ser reutilizadas. Os usurios de um aplicativo publicado tero acesso s medidas mestres em
sua biblioteca, mas no podero modific-las.
Faa o seguinte:

1. No visualizador do modelo de dados, selecione um campo e abra o painel Visualizar.


2. Clique em Adicionar como medio.
A caixa de dilogo Criar nova medio aberta com o campo selecionado. O nome do campo
selecionado tambm usado como o nome padro da medio.
3. Digite uma expresso para a medio.
4. Altere o nome se quiser e, opcionalmente, adicione uma descrio e tags.
5. Clique em Criar.

Carregando e modelando dados - Qlik Sense, 2.0.2

121

5 Visualizando o modelo de dados


A medio salva na guia de itens mestres do painel de ativos.

5.6

Barra de ferramentas do visualizador do modelo de


dados

No visualizador do modelo de dados, voc encontra as seguintes ferramentas na barra de ferramentas no


topo da tela:

Menu de navegao com as seguintes opes:

Viso geral do aplicativo


Gerenciador de dados
Editor do carregamento de dados
qAbrir Hub

Menu com as seguintes opes:

Adicionar dados.
DAjuda
]Sobre
Salvar

Salvar as alteraes.

]
t

Clique no cone de informaes para mostrar ou ocultar os detalhes do aplicativo.

s
+
7

Expanda todas as tabelas para mostrar todos os campos.

Contraia todas as tabelas para mostrar apenas o nome da tabela.


Reduza o tamanho de todas as tabelas para mostrar o nome da tabela e todos os campos com
as associaes com outras tabelas.

Visualizao de tabela interna o modelo de dados do Qlik Sense incluindo campos sintticos.
Visualizao da tabela de fonte o modelo de dados das tabelas de dados de fonte.
Menu de layout com as seguintes opes:

Layout de grade
Layout automtico
Restaurar layout
j

Abrir e fechar o painel de visualizao.

Carregando e modelando dados - Qlik Sense, 2.0.2

122

6 Prticas recomendadas para a modelagem de dados

Prticas recomendadas para a modelagem


de dados

Esta seo descreve vrias maneiras diferentes para carregar seus dados para o aplicativo Qlik Sense,
dependendo de como os dados so estruturados e de qual modelo de dados voc deseja alcanar.

6.1

Convertendo colunas de dados em linhas

Provavelmente, meus dados esto parecidos com isso e quero os nmeros de vendas em um campo
separado:

Year

Q1

Q2

Q3

Q4

2013

34

54

53

52

2014

47

56

65

67

2015

57

56

63

71

Ao sugerida
Use o prefixo Crosstable ao carregar a tabela.
O resultado ser semelhante a este:

Year

Quarter

Sales

2013

Q1

34

2013

Q2

54

2013

Q3

53

2013

Q4

52

2014

Q1

47

...

...

...

6.2

Convertendo linhas de dados em campos

Eu tenho uma tabela genrica com trs campos semelhantes a isso, e quero que cada atributo seja uma
tabela separada:

Object

Attribute

Value

ball

color

red

ball

diameter

25

Carregando e modelando dados - Qlik Sense, 2.0.2

123

6 Prticas recomendadas para a modelagem de dados


Object

Attribute

Value

ball

weight

box

color

56

box

height

30

box

length

20

box

width

25

Ao sugerida
Crie um modelo de dados genrico usando o prefixo de carregamento Generic.
O resultado ser um modelo de dados parecido com esse:

6.3

Carregando dados organizados em nveis


hierrquicos, por exemplo, um esquema de
organizao.

Meus dados so armazenados em uma tabela de ns adjacentes parecida com isso:

NodeID

ParentNodeID

Title

General manager

Country manager

Region manager

Ao sugerida

Carregando e modelando dados - Qlik Sense, 2.0.2

124

6 Prticas recomendadas para a modelagem de dados


Carregue os dados com o prefixo Hierarchy para criar uma tabela de ns expandidos

NodeID

ParentNodeID

Title

Level1

Level2

Level3

General
manager

General
manager

Country manager

General
manager

Country
manager

Region manager

General
manager

Country
manager

Region
manager

6.4

Carregando apenas registros novos e atualizados de


um grande banco de dados

Tenho um banco de dados com um grande nmero de registros, e no quero carregar todo o banco de dados
para atualizar os dados em meu aplicativo. Quero carregar apenas registros novos e atualizados, e remover
registros excludos do banco de dados.

Ao sugerida
Implemente uma soluo de carga incremental usando arquivos QVD.

6.5

Combinando dados de duas tabelas com um campo


comum

O Qlik Sense associar automaticamente tabelas com um campo em comum, mas quero controlar como as
tabelas sero combinadas.

Ao sugerida : Join / Keep


Voc pode combinar duas tabelas em uma nica tabela interna com os prefixos Join ou Keep.

Ao sugerida : Mapping
Um alternativa para fundir tabelas usar o mapeamento, que automatiza a pesquisa por valores associados
em uma tabela de mapeamento. O que pode reduzir a quantidade de dados para carregar.

6.6

Combinando um valor discreto com um intervalo

Tenho uma tabela de valores numricos discretos (Event), e quero combin-la em um ou mais intervalos
(Start e End).

Carregando e modelando dados - Qlik Sense, 2.0.2

125

6 Prticas recomendadas para a modelagem de dados

Ao sugerida
Use o prefixo IntervalMatch para vincular o campo Time com o intervalo definido pelo Start e End.
Se o intervalo no for explicitamente definido com incio e trmino, apenas com uma mudana na data e
hora como na tabela abaixo, ser preciso criar uma tabela de intervalos.

6.7

Manuseando valores de campo inconsistentes

Meus dados contm valores de campo em tabelas diferentes que no tm o mesmo nome. Por exemplo,
uma tabela contm o valor US em Pas enquanto outra tabela contm Estados Unidos. Essa situao
impedir associaes.

Pas

Regio

Pas

Populao

EUA

Maryland

Estados Unidos

304

EUA

Idaho

Japo

128

EUA

New York

Brasil

192

EUA

Califrnia

China

1333

Ao sugerida
Limpe os dados usando uma tabela de mapeamento, que compara valores de campo e permite associaes
corretas.

Carregando e modelando dados - Qlik Sense, 2.0.2

126

6 Prticas recomendadas para a modelagem de dados

6.8

Carregando dados geoespaciais para visualizar


dados com um mapa

Tenho dados que gostaria de visualizar usando um mapa, por exemplo, dados de vendas por pas ou por
loja. Para usar a visualizao em mapa, preciso carregar dados de rea ou ponto.

Ao sugerida
Voc pode carregar os dados de rea ou ponto que combinem locais de valor de dados de um arquivo KML
ou um arquivo Excel. Alm disso, voc precisa carregar o verdadeiro mapa de fundo.

6.9

Extrair, transformar e carregar

Em geral, a maneira como os dados so carregados para o aplicativo pode ser explicada pelo processo
Extrair, Transformar e Carregar:

1. Extrair
O primeiro passo extrair os dados do sistema da fonte de dados. No script, voc pode usar os
comandos SELECT ou LOAD para definir isso. As diferenas entre esses comandos so:
l

SELECT usado para selecionar dados de uma fonte de dados ODBC ou provedor OLE DB.
O comando SELECT SQL avaliado pelo provedor de dados, e no pelo Qlik Sense.

LOAD usado para carregar dados de um arquivo, de dados definidos no script, de uma
tabela carregada anteriormente, de uma pgina da web, do resultado de um comando
SELECT subsequente ou gerando dados automaticamente

2. Transformar
A fase de transformao envolve a manipulao dos dados utilizando funes de script e regras para
derivar a estrutura do modelo de dados desejado. As operaes tpicas so:
l

Clculo de novos valores

Traduo de valores codificados

Renomeando campos

Unio de tabelas

Agregao de valores

Criao de tabela dinmica

Validao de dados

3. Carregar
Na etapa final, execute o script para carregar o modelo de dados definido no aplicativo.
Seu objetivo deve ser o de criar um modelo de dados que permita uma manipulao eficiente dos dados no
Qlik Sense. Geralmente, isso significa que voc deve apontar para um esquema de estrela ou de floco de
neve razoavelmente normalizado, sem referncias circulares, isto , um modelo no qual cada entidade seja
mantida em uma tabela separada. Em outras palavras, um modelo de dados tpico teria a seguinte
aparncia:
l

uma tabela central de fatos que contm as chaves para as dimenses e os nmeros usados para
calcular medidas (como o nmero de unidades, o volume das vendas e os valores do oramento).

Carregando e modelando dados - Qlik Sense, 2.0.2

127

6 Prticas recomendadas para a modelagem de dados


l

tabelas adjacentes contendo as dimenses com todos os seus atributos (como produtos, clientes,
categorias, calendrio e fornecedores).

Em muitos casos possvel resolver uma tarefa (por exemplo, agregaes) criando um
modelo de dados mais rico no script de carregamento ou executando as agregaes nas
expresses do grfico. Como regra geral, o desempenho ser melhor se voc mantiver as
transformaes de dados no script de carregamento.

Recomenda-se esboar seu modelo de dados no papel. Isso ajuda a fornecer uma estrutura de
quais dados extrair e quais transformaes executar.
Cada tabela do modelo de dados geralmente corresponde a um comando SELECT ou LOAD. As diferenas
entre esses comandos so:
l

SELECT usado para selecionar dados de uma fonte de dados ODBC ou provedor OLE DB. O
comando SELECT SQL avaliado pelo provedor de dados, e no pelo Qlik Sense.

LOAD usado para carregar dados de um arquivo, de dados definidos no script, de uma tabela
carregada anteriormente, de uma pgina da web, do resultado de um comando SELECT
subsequente ou gerando dados automaticamente

6.10 Usando arquivos QVD para carga incremental


A tarefa de carga incremental muitas vezes utilizada com bancos de dados. Uma carga incremental
carrega apenas registros novos ou alterados do banco de dados, todos os outros dados j devem estar
disponveis no aplicativo. quase sempre possvel usar a carga incremental com arquivos QVD.
O processo bsico est descrito abaixo:

1. Carregue novos dados da tabela do banco de dados.


Esse um processo lento, mas apenas alguns arquivos so carregados.
2. Carregue dados antigos do arquivoQVD.
Muitos registros so carregados, mas esse processo muito mais rpido.
3. Criar um novo arquivo QVD.
4. Repetir o procedimento para cada tabela carregada.
Os exemplos a seguir mostram onde a carga incremental usada, no entanto, uma soluo mais complexa
pode ser necessria, caso seja requisitado pelo banco de dados fonte.
l

Anexar apenas (tipicamente usada para arquivos de log)

Inserir apenas (sem atualizar nem excluir)

Inserir e atualizar (sem excluir)

Inserir, atualizar e excluir

Carregando e modelando dados - Qlik Sense, 2.0.2

128

6 Prticas recomendadas para a modelagem de dados


Esses so os contornos das solues para cada um desses casos. Voc pode ler arquivos QVD nos modos
otimizado ou padro. (O mtodo usado automaticamente selecionado pelo mecanismo Qlik Sense,
dependendo da complexidade da operao.) O modo otimizado cerca de 10 vezes mais rpido do que o
modo padro ou 100 vezes mais rpido do que carregar a base de dados do modo comum.

Anexar apenas
O caso mais simples aquele dos arquivos de log; arquivos nos quais os registros s so acrescentados e
jamais excludos. As seguintes condies se aplicam:
l

O banco de dados deve ser um arquivo de log (ou algum outro arquivo no qual os registros so
acrescentados e no inseridos ou excludos) contido em um arquivo de texto (ODBC, OLE DB ou
outros bancos de dados no so suportados).
Qlik Sense controla o nmero de registros lidos anteriormente e carrega apenas registros includos no
final do arquivo.

Exemplo:
Buffer (Incremental) Load * From LogFile.txt (ansi, txt, delimiter is '\t', embedded labels);

Inserir apenas (sem atualizar nem excluir)


Se os dados residirem em um banco de dados que no seja um arquivo de log individual, a soluo anexada
no funcionar. No entanto, o problema poder ser solucionado com um mnimo de trabalho adicional. As
seguintes condies se aplicam:
l

A fonte de dados pode ser qualquer base de dados.

O Qlik Sense carrega os registros inseridos na base de dados aps a execuo do ltimo script.

necessrio um campo de ModificationTime (ou semelhante) para que o Qlik Sensereconhea os


registros novos.

Exemplo:
QV_Table:
SQL SELECT PrimaryKey, X, Y FROM DB_TABLE
WHERE ModificationTime >= #$(LastExecTime)#
AND ModificationTime < #$(BeginningThisExecTime)#;
Concatenate LOAD PrimaryKey, X, Y FROM File.QVD;
STORE QV_Table INTO File.QVD;

Os sinais de sustenido na clusula SQL WHERE definem o incio e o final de uma data. Verifique o manual
do banco de dados para obter a sintaxe de data correta do banco de dados.

Inserir e atualizar (sem excluir)


O caso seguinte se aplica quando os dados nos registros carregados anteriormente so alterados entre as
execues de script. As seguintes condies se aplicam:
l

A fonte de dados pode ser qualquer base de dados.

O Qlik Sense carrega os registros inseridos ou atualizados na base de dados aps a execuo do

Carregando e modelando dados - Qlik Sense, 2.0.2

129

6 Prticas recomendadas para a modelagem de dados


ltimo script
l

necessrio um campo de ModificationTime (ou semelhante) para que o Qlik Sensereconhea os


registros novos.
necessrio um campo chave primrio para que o Qlik Sense classifique os registros atualizados do
arquivo QVD.
Esta soluo forar a leitura do arquivo QVD no modo padro (em vez do otimizado), que ainda ser
consideravelmente mais rpido do que carregar a base de dados inteira.

Exemplo:
QV_Table:
SQL SELECT PrimaryKey, X, Y FROM DB_TABLE
WHERE ModificationTime >= #$(LastExecTime)#;
Concatenate LOAD PrimaryKey, X, Y FROM File.QVD
WHERE NOT Exists(PrimaryKey);
STORE QV_Table INTO File.QVD;

Inserir, atualizar e excluir


O caso mais difcil de solucionar quando os registros so excludos da base de dados de origem entre as
execues de script. As seguintes condies se aplicam:
l
l

l
l

A fonte de dados pode ser qualquer base de dados.


O Qlik Sense carrega os registros inseridos ou atualizados na base de dados aps a execuo do
ltimo script.
O Qlik Sense remove os registros excludos da base de dados aps a execuo do ltimo script.
necessrio um campo de ModificationTime (ou semelhante) para que o Qlik Sensereconhea os
registros novos.
necessrio um campo chave primrio para que o Qlik Sense classifique os registros atualizados do
arquivo QVD.
Esta soluo forar a leitura do arquivo QVD no modo padro (em vez do otimizado), que ainda ser
consideravelmente mais rpido do que carregar a base de dados inteira.

Exemplo:
Let ThisExecTime = Now( );
QV_Table:
SQL SELECT PrimaryKey, X, Y FROM DB_TABLE
WHERE ModificationTime >= #$(LastExecTime)#
AND ModificationTime < #$(ThisExecTime)#;
Concatenate LOAD PrimaryKey, X, Y FROM File.QVD
WHERE NOT EXISTS(PrimaryKey);
Inner Join SQL SELECT PrimaryKey FROM DB_TABLE;
If ScriptErrorCount = 0 then
STORE QV_Table INTO File.QVD;
Let LastExecTime = ThisExecTime;

Carregando e modelando dados - Qlik Sense, 2.0.2

130

6 Prticas recomendadas para a modelagem de dados


End If

6.11 Combinando tabelas com Join e Keep


A juno uma operao que usa duas tabelas para combin-las em uma. Os registros da tabela resultante
so combinaes dos registros das tabelas originais, de forma que, geralmente, os dois registros que
contribuem para qualquer combinao na tabela resultante tenham um valor comum para um ou vrios
campos comuns, a assim chamada juno natural. No Qlik Sense, as junes podem ser feitas no script,
produzindo tabelas lgicas.
possvel unir tabelas que j esto no script. Assim, a lgica do Qlik Sense no ver as tabelas separadas, e
sim o resultado da juno, que uma nica tabela interna. Em algumas situaes isso necessrio, mas
existem desvantagens:
l
l

Normalmente, as tabelas carregadas ficam maiores e o Qlik Sense trabalha mais lentamente.
Algumas informaes podem ser perdidas: a frequncia (nmero de registros) na tabela original pode
no mais estar disponvel.

A funcionalidade Keep, que tem o efeito de reduzir uma ou ambas as tabelas interseo dos dados da
tabela antes de serem armazenadas no Qlik Sense, foi projetada para reduzir o nmero de casos que exigem
o uso de junes explcitas.

Nesta documentao, o termo juno geralmente utilizado para junes feitas antes da
criao das tabelas internas. Entretanto, a associao, feita aps a criao das tabelas
internas, tambm basicamente uma juno.

Junes dentro de um comando SQL SELECT


Com alguns drivers ODBC, possvel fazer uma juno no comando SELECT. quase equivalente a fazer
uma juno usando o prefixo Join.
No entanto, a maior parte dos drivers ODBC no capaz de fazer uma juno externa completa
(bidirecional). Eles podem apenas fazer uma juno externa esquerda ou direita. Uma juno externa
esquerda (ou direita) inclui apenas combinaes em que a chave de juno existe na tabela da esquerda
(direita). Uma juno externa completa inclui qualquer combinao. O Qlik Sense faz automaticamente uma
juno externa completa.
Alm disso, fazer junes em comandos SELECT muito mais complicado do que fazer junes no Qlik
Sense.

Exemplo:
SELECT DISTINCTROW
[Order Details].ProductID, [Order Details].
UnitPrice, Orders.OrderID, Orders.OrderDate, Orders.CustomerID
FROM Orders
RIGHT JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID;

Carregando e modelando dados - Qlik Sense, 2.0.2

131

6 Prticas recomendadas para a modelagem de dados


Esse comando SELECT une uma tabela que contm pedidos para uma empresa fictcia, com uma tabela
que contm detalhes do pedido. uma juno externa direita, significando que todos os registros de
OrderDetails sero includos, mesmo aqueles com um OrderID que no existe na tabela Orders. Entretanto,
os pedidos existentes em Orders, mas no em OrderDetails, no sero includos.

Join
A forma mais simples de fazer uma juno usar o prefixo Join no script, que une a tabela interna a outra
tabela nomeada ou ltima tabela criada anteriormente. A juno ser externa, criando todas as
combinaes possveis de valores das duas tabelas.

Exemplo:
LOAD a, b, c from table1.csv;
join LOAD a, d from table2.csv;

A tabela interna resultante tem os campos a, b, c e d. O nmero de registros diferente dependendo dos
valores de campo das duas tabelas.

Os nomes dos campos a serem unidos devem ser exatamente os mesmos. O nmero de
campos a serem unidos arbitrrio. Normalmente, as tabelas devem ter um ou alguns campos
em comum. Nenhum campo em comum gerar o produto cartesiano das tabelas. Tambm
possvel ter todos os campos em comum, mas isso normalmente no faz sentido. A menos
que o nome de uma tabela carregada anteriormente seja especificado no comando Join, o
prefixo Join utilizar a ltima tabela criada anteriormente. Dessa forma, a ordem dos dois
comandos no arbitrria.

Keep
O prefixo Join explcito no script de carga de dados executa uma juno completa das duas tabelas. O
resultado uma tabela. Em vrios casos, essas junes resultaro em tabelas muito grandes. Uma das
principais caractersticas do Qlik Sense sua capacidade de fazer associaes entre as tabelas, em vez de
uni-las, reduzindo bastante o espao usado na memria, aumentando a velocidade e oferecendo enorme
flexibilidade. A funcionalidade keep foi projetada para reduzir o nmero de casos em que as junes
explcitas precisam ser usadas.
O prefixo Keep entre dois comandos LOAD ou SELECT tem o efeito de reduzir uma ou ambas as tabelas
interseo dos dados da tabela antes de serem armazenadas no Qlik Sense. O prefixo Keep sempre deve
ser precedido de uma das palavras-chave Inner, Left ou Right. A seleo de registros das tabelas feita da
mesma maneira que em uma juno correspondente. Entretanto, as duas tabelas no so unidas e sero
armazenadas no Qlik Sense como duas tabelas nomeadas separadas.

Inner
Os prefixos Join e Keep no script de carga de dados podem ser precedidos pelo prefixo Inner.
Se for usado antes de Join, especificar que a juno das duas tabelas deve ser interna. A tabela resultante
contm apenas combinaes entre as duas tabelas com um conjunto de dados completo de ambos os lados.

Carregando e modelando dados - Qlik Sense, 2.0.2

132

6 Prticas recomendadas para a modelagem de dados


Se usado antes de Keep, especificar que as duas tabelas devero ser reduzidas sua interseo comum
antes de serem armazenadas no Qlik Sense.

Exemplo:
Nestes exemplos, usamos as tabelas de fontes Table1 e Table2:

Tabelas de fonte com os exemplos Inner

Primeiro, realizamos um Inner Join nas tabelas, resultando em um VTable, contendo apenas uma linha, o
nico registro existente em ambas as tabelas, com dados combinados de ambas as tabelas.
VTable:
SELECT * from Table1;
inner join SELECT * from Table2;

Exemplo de Inner Join

Se voc realizar um Inner Keep, ainda ter duas tabelas. As duas tabelas sero, obviamente, associadas
atravs do campo comum A.
VTab1:
SELECT * from Table1;
VTab2:
inner keep SELECT * from Table2;

Exemplo de Inner Keep

Left
Os prefixos Join e Keep no script de carga de dados podem ser precedidos pelo prefixo left.
Se for usado antes de Join, ele especificar que a juno das duas tabelas deve ser esquerda. A tabela
resultante contm apenas combinaes entre as duas tabelas com um conjunto de dados completo da
primeira tabela.

Carregando e modelando dados - Qlik Sense, 2.0.2

133

6 Prticas recomendadas para a modelagem de dados


Se usado antes de Keep, especificar que a segunda tabela dever ser reduzida sua interseo comum
com a primeira tabela antes de ser armazenada no Qlik Sense.

Exemplo:
Nestes exemplos, usamos as tabelas de fontes Table1 e Table2:

Tabelas de fonte com os exemplos Left

Primeiro, um Left Join realizado nas tabelas, resultando em um VTable, contendo todas as linhas da
Table1, combinadas com os campos das linhas correspondentes na Table2.
VTable:
SELECT * from Table1;
left join SELECT * from Table2;

Exemplo de Left Join

Se voc realizar um Left Keep, ainda ter duas tabelas. As duas tabelas sero, obviamente, associadas
atravs do campo comum A.
VTab1:
SELECT * from Table1;
VTab2:
left keep SELECT * from Table2;

Exemplo de Left Keep

Right
Os prefixos Join e Keep no script de carga de dados podem ser precedidos pelo prefixo right.

Carregando e modelando dados - Qlik Sense, 2.0.2

134

6 Prticas recomendadas para a modelagem de dados


Se for usado antes de Join, ele especificar que a juno das duas tabelas deve ser direita. A tabela
resultante contm apenas combinaes entre as duas tabelas com um conjunto de dados completo da
segunda tabela.
Se usado antes de Keep, especificar que a primeira tabela dever ser reduzida sua interseo comum
com a segunda tabela antes de ser armazenada no Qlik Sense.

Exemplo:
Nestes exemplos, usamos as tabelas de fontes Table1 e Table2:

Tabelas de fonte com os exemplos Right

Primeiro, um Right Join realizado nas tabelas, resultando em um VTable, contendo todas as linhas da
Table2, combinadas com os campos das linhas correspondentes na Table1.
VTable:
SELECT * from Table1;
right join SELECT * from Table2;

Exemplo de Right Join

Se voc realizar um Left Keep, ainda ter duas tabelas. As duas tabelas sero, obviamente, associadas
atravs do campo comum A.
VTab1:
SELECT * from Table1;
VTab2:
right keep SELECT * from Table2;

Exemplo de Right Keep

Carregando e modelando dados - Qlik Sense, 2.0.2

135

6 Prticas recomendadas para a modelagem de dados

6.12 Usando o mapeamento como uma alternativa


juno
O prefixo Join no Qlik Sense uma tima maneira de combinar vrias tabelas de dados no modelo de
dados. Uma desvantagem que as tabelas combinadas podem se tornar grandes e criar problemas de
desempenho. Uma alternativa ao Join, nas situaes em que voc precisa analisar um nico valor de outra
tabela, usar o mapeamento. Isso pode prevenir o carregamento de dados desnecessrios, que atrasa os
clculos e pode criar erros de clculo, porque as junes podem mudar o nmero de registros nas tabelas.
A tabela de mapeamento consiste em duas colunas: um campo de comparao (entrada) e um campo de
valor de mapeamento (sada).
Nesse exemplo, temos uma tabela de pedidos (Orders) e precisamos saber qual o pas do cliente, que est
armazenado na tabela de clientes (Customers).
Tabela de dados Orders

OrderID

OrderDate

ShipperID

Freight

CustomerID

12987

2007-12-01

27

12988

2007-12-01

65

12989

2007-12-02

32

12990

2007-12-03

76

Tabela de dados Customers

CustomerID

Name

Country

...

DataSales

Spain

...

BusinessCorp

Italy

...

TechCo

Germany

...

Mobecho

France

...

A fim de procurar o pas (Country) de um cliente, precisamos de uma tabela de mapeamento que teria a
seguinte aparncia:

CustomerID

Country

Spain

Italy

Germany

France

Carregando e modelando dados - Qlik Sense, 2.0.2

136

6 Prticas recomendadas para a modelagem de dados


A tabela de mapeamento, que nomeamos para MapCustomerIDtoCountry, definida no script da seguinte
forma:
MapCustomerIDtoCountry:
Mapping LOAD CustomerID, Country From Customers ;

O prximo passo aplicar o mapeamento, utilizando a funo ApplyMap ao carregar a tabela de pedidos:
Orders:
S *,
ApplyMap('MapCustomerIDtoCountry', CustomerID, null()) as Country
From Orders ;

O terceiro parmetro da funo ApplyMap usado para definir o que deve ser retornado quando o valor no
for encontrado na tabela de mapeamento, neste caso Null().
A tabela resultante teria a seguinte aparncia:

OrderID

OrderDate

ShipperID

Freight

CustomerID

Country

12987

2007-12-01

27

Germany

12988

2007-12-01

65

France

12989

2007-12-02

32

Italy

12990

2007-12-03

76

Germany

6.13 Trabalhando com tabelas cruzadas


Uma tabela cruzada um tipo comum de tabela que apresenta uma matriz de valores entre duas listas
retangulares de dados de cabealho. Ela poderia ter a aparncia da tabela a seguir.

Exemplo 1:
Year

Jan

Feb

Mar

Apr

May

Jun

2008

45

65

78

12

78

22

2009

11

23

22

22

45

85

2010

65

56

22

79

12

56

2011

45

24

32

78

55

15

2012

45

56

35

78

68

82

Se essa tabela for simplesmente carregada no Qlik Sense, o resultado ser um campo para Year e um
campo para cada um dos meses. Geralmente, esse resultado no o desejado. Seria melhor voc gerar trs
campos: um para cada categoria de cabealho (Year e Month) e um para os valores de dados dentro da
matriz.
Para isso, preciso incluir o prefixo crosstable na declarao LOAD ou SELECT.
crosstable (Month, Sales) LOAD * from ex1.xlsx;

Carregando e modelando dados - Qlik Sense, 2.0.2

137

6 Prticas recomendadas para a modelagem de dados


Isso cria o seguinte resultado no Qlik Sense:

A tabela cruzada frequentemente precedida de vrias colunas de qualificao que devem ser lidas de
modo direto. Nesse caso, h uma coluna de qualificao, Year:

Exemplo 2:
Salesman

Year

Jan

Feb

Mar

Apr

May

Jun

2008

45

65

78

12

78

22

2009

11

23

22

22

45

85

2010

65

56

22

79

12

56

2011

45

24

32

78

55

15

2012

45

56

35

78

68

82

2008

57

77

90

24

90

34

2009

23

35

34

34

57

97

2010

77

68

34

91

24

68

2011

57

36

44

90

67

27

2012

57

68

47

90

80

94

Nesse caso, h duas colunas de qualificao esquerda, seguidas pelas colunas da matriz. O nmero de
colunas de qualificao pode ser indicado como um terceiro parmetro para o prefixo crosstable, da
seguinte maneira:
crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;

Isso cria o seguinte resultado no Qlik Sense:

Carregando e modelando dados - Qlik Sense, 2.0.2

138

6 Prticas recomendadas para a modelagem de dados

6.14 Bancos de dados genricos


Um banco de dados genrico uma tabela na qual os nomes de campo so armazenados como valores de
campos em uma coluna e os valores de campos so armazenados em uma segunda. Geralmente, os bancos
de dados genricos so usados para atributos de objetos diferentes.
Veja o exemplo abaixo, GenericTable. um banco de dados genrico que contm dois objetos: uma bola e
uma caixa. Alguns dos atributos, como cor e peso, so comuns aos dois objetos, enquanto outros, como
dimetro, altura, comprimento e largura, no so.
GenericTable

object

attribute

value

ball

color

red

ball

diameter

10 cm

ball

weight

100 g

box

color

black

box

height

16 cm

box

length

20 cm

box

weight

500 g

box

width

10 cm

Por um lado, seria inconveniente armazenar os dados de forma que cada atributo recebesse uma coluna
prpria, pois muitos dos atributos no so relevantes para um objeto especfico.
Por outro lado, seria confuso exibi-los de forma que misturasse comprimentos, cores e pesos.
Se esse banco de dados for carregado no Qlik Sense usando o modo padro, a exibio dos dados em uma
tabela teria esta aparncia:

Carregando e modelando dados - Qlik Sense, 2.0.2

139

6 Prticas recomendadas para a modelagem de dados

No entanto, se a tabela for carregada como um banco de dados genrico, as colunas dois e trs sero
divididas em tabelas diferentes, uma para cada valor exclusivo da segunda coluna:

A sintaxe desta operao simples:

Exemplo:
Generic SELECT* from GenericTable;

No importa se um comando LOAD ou SELECT que ser usado para carregar o banco de dados genrico.

Carregando e modelando dados - Qlik Sense, 2.0.2

140

6 Prticas recomendadas para a modelagem de dados

6.15 Correspondendo intervalos a dados discretos


O prefixo intervalmatch de um comando LOAD ou SELECT usado para vincular valores numricos
discretos a um ou mais intervalos numricos. Esse recurso muito til e pode ser usado, por exemplo, em
ambientes de produo, conforme demonstrado no exemplo a seguir.

Exemplo:
Examine as duas tabelas a seguir. A primeira tabela mostra o incio e o final da produo de pedidos
diferentes. A segunda tabela mostra alguns eventos discretos. Como podemos associar os eventos discretos
aos pedidos, de forma que saibamos, por exemplo, que pedidos foram afetados pelas interferncias e que
pedidos foram processados por quais turnos?

Table OrderLog

Table EventLog

Primeiro, carregue as duas tabelas da forma habitual e, em seguida, vincule o campo Time aos intervalos
definidos pelos campos Start e End:
SELECT * from OrderLog;
SELECT * from EventLog;
Intervalmatch (Time) SELECT Start,End from OrderLog;

Agora voc pode criar uma tabela no Qlik Sense, como mostrado abaixo:

Carregando e modelando dados - Qlik Sense, 2.0.2

141

6 Prticas recomendadas para a modelagem de dados

Podemos observar, principalmente, que o pedido A foi afetado pela interrupo da linha, mas que a
velocidade reduzida da linha afetou tambm os pedidos B e C. Somente os pedidos C e D foram
parcialmente tratados pelo Shift 2.
Observe o seguinte ao utilizar o comando intervalmatch:
l

Antes do comando intervalmatch o campo que contm os pontos de dados discretos (Time no
exemplo acima) j deve ter sido lido no Qlik Sense. O prprio comando intervalmatch no l esse
campo da tabela do banco de dados.

A tabela lida no comando intervalmatch LOAD ou SELECT deve sempre conter exatamente dois
campos (Start e End no exemplo apresentado). Para estabelecer um link com outros campos,
necessrio ler os campos de intervalo com campos adicionais em um campo LOAD ou SELECT
separado (o primeiro comando SELECT no exemplo apresentado).

Os intervalos esto sempre fechados, isto , sempre contm pontos de extremidade. Os limites no
numricos fazem com que o intervalo seja desconsiderado (indefinido) e os limites NULL estendem o
intervalo indefinidamente (ilimitado).
Os intervalos podem estar sobrepostos e os valores discretos estaro vinculados a todos os intervalos
correspondentes.

Usando a sintaxe intervalmatch estendida para resolver problemas


de lentido durante a alterao de dimenses
A sintaxe intervalmatch estendida pode ser utilizada para tratar o problema j conhecido de lentido
durante a alterao de dimenses na fonte de dados.

Script de amostra:
SET NullInterpret='';
IntervalTable:
LOAD Key, ValidFrom, Team
FROM 'lib://dataqv/intervalmatch.xlsx' (ooxml, embedded labels, table is IntervalTable);
Key:
LOAD
Key,

Carregando e modelando dados - Qlik Sense, 2.0.2

142

6 Prticas recomendadas para a modelagem de dados


ValidFrom as FirstDate,
date(if(Key=previous(Key),
previous(ValidFrom) - 1)) as LastDate,
Team
RESIDENT IntervalTable order by Key, ValidFrom desc;
drop table IntervalTable;
Transact:
LOAD Key, Name, Date, Sales
FROM 'lib://dataqv/intervalmatch.xlsx' (ooxml, embedded labels, table is Transact);
INNER JOIN intervalmatch (Date,Key) LOAD FirstDate, LastDate, Key RESIDENT Key;

O comando nullinterpret exigido apenas na leitura de dados de um arquivo de tabela, pois os valores
ausentes so definidos como caracteres vazios em vez de valores NULL.
O carregamento dos dados de IntervalTable resultaria na seguinte tabela:

O comando nullasvalue permite que os valores NULL sejam mapeados para os campos listados.
Crie Key, FirstDate, LastDate (campos de atributos) usando previous e order by. Posteriormente,

IntervalTable eliminada e substituda por essa tabela de chave.


O carregamento dos dados de Transact resultaria na seguinte tabela:

Carregando e modelando dados - Qlik Sense, 2.0.2

143

6 Prticas recomendadas para a modelagem de dados


O comando intervalmatch precedido por inner join substitui a chave por uma chave sinttica que se
conecta tabela Transact, resultando na seguinte tabela:

6.16 Criando um intervalo de datas a partir de uma nica


data
s vezes, os intervalos de tempo no so armazenados de forma explcita com um incio e um trmino. Em
vez disso, eles esto implcitos por apenas um campo o carimbo de hora da alterao.
Poderia ser exatamente como mostrado na tabela abaixo, na qual temos taxas de cmbio para vrias
moedas. Cada alterao na taxa de cmbio est em sua prpria linha; cada uma com uma nova taxa de
converso. Alm disso, a tabela contm linhas com datas vazias correspondentes taxa de converso
inicial, antes da primeira alterao feita.

Esta tabela define um conjunto de intervalos no sobrepostos, no qual a data de incio chamada Change
Date e a data de trmino definida pelo incio do prximo intervalo. Contudo, j que a data de trmino no
est explicitamente armazenada em uma coluna prpria, precisamos criar essa coluna, para que a nova
tabela torne-se uma lista de intervalos.
Faa o seguinte:

1. Crie um arquivo chamado Rates.xlsx que contenha a tabela mostrada acima e armazene-o pronto
para o carregamento.
Certifique-se de que as datas na coluna Change Date estejam no mesmo formato da data local.

Carregando e modelando dados - Qlik Sense, 2.0.2

144

6 Prticas recomendadas para a modelagem de dados


2. Determine com qual intervalo de tempo voc deseja trabalhar. O incio do intervalo deve ser antes da
primeira data dos dados e o final do intervalo deve ser aps a ltima.
3. Carregue os dados de origem, mas altere as datas vazias para o incio do intervalo definido no ponto
anterior. A data de alterao deve ser carregada como From Date.
4. Classifique a tabela primeiro de acordo com Currency e, em seguida, de acordo com From Date, de
forma descendente para que as ltimas datas sejam exibidas na parte superior.
5. Execute uma segunda passagem de dados onde ser calculado To Date. Se o registro atual tiver
uma moeda diferente do registro anterior, ele ser o primeiro registro de uma nova moeda (mas seu
ltimo intervalo); portanto, voc deve usar o final do intervalo definido na primeira etapa. Se ele tiver
a mesma Moeda, voc deve retirar From Date do registro anterior, subtrair uma pequena
quantidade de tempo e usar esse valor como To Date no registro atual.
O script listado abaixo atualizar a tabela de origem da seguinte maneira:

O script do Qlik Sense tem a seguinte aparncia:


Let vBeginTime = Num('1/1/2013');
Let vEndTime = Num('1/3/2013');
Let vEpsilon = Pow(2,-27);
Tmp_Rates:
LOAD Currency, Rate,
Date(If(IsNum([Change Date]), [Change Date], $(#vBeginTime))) as FromDate
From 'lib://Tutorial Files/Rates.xlsx'
(ooxml, embedded labels, table is Sheet1);
Rates:
LOAD Currency, Rate, FromDate,
Date(If( Currency=Peek(Currency),
Peek(FromDate) - $(#vEpsilon),
$(#vEndTime)
)) as ToDate
Resident Tmp_Rates
Order By Currency, FromDate Desc;
Drop Table Tmp_Rates;

Quando o script executado, ser exibida uma tabela que lista os intervalos corretamente. Use a seo Pr-

visualizao do visualizador do modelo de dados para visualizar a tabela resultante.

Carregando e modelando dados - Qlik Sense, 2.0.2

145

6 Prticas recomendadas para a modelagem de dados

Esta tabela pode ser posteriormente utilizada em uma comparao com uma data atual com os mtodos
Intervalmatch.

6.17 Hierarquias
Hierarquias irregulares com n nveis so geralmente usadas para representar, entre outras coisas,
dimenses geogrficas ou organizacionais em dados. Esses tipos de hierarquias so geralmente
armazenados em uma tabela de ns adjacentes, isto , em uma tabela na qual cada registro corresponde a
um n e possui um campo que contm uma referncia ao n pai.

Em uma tabela como essa, o n armazenado em apenas um registro, mas ainda pode ter um nmero
indefinido de filhos. A tabela pode conter campos adicionais que descrevem atributos para os ns.
Uma tabela de ns adjacentes fcil de manter, mas difcil de usar em trabalhos do dia-a-dia. Em vez disso,
em consultas e anlises, outras representaes so usadas. A tabela de ns expandidos uma
representao comum, na qual cada nvel da hierarquia armazenado em um campo separado. Os nveis de
uma tabela de ns expandidos podem ser facilmente utilizados, por exemplo, em uma estrutura de rvore. A
palavra-chave hierarchy pode ser usada no script de carga de dados para transformar uma tabela de ns
adjacentes em uma tabela de ns expandidos.

Exemplo:
Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD
NodeID,
ParentNodeID,
Title
FROM 'lib://data/hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Carregando e modelando dados - Qlik Sense, 2.0.2

146

6 Prticas recomendadas para a modelagem de dados

Um dos problemas da tabela de ns expandidos que no fcil usar os campos de nvel para realizar
pesquisas ou selees, j que necessrio ter um conhecimento prvio sobre o nvel que se deseja
pesquisar ou selecionar. A tabela de ancestrais uma representao diferente que resolve esse problema.
Essa representao tambm chamada de tabela de ponte.
A tabela de ancestrais contm um registro para cada relao filho-ancestral encontrada nos dados. Ela
contm chaves e nomes para os filhos, bem como para os ancestrais, ou seja, cada registro descreve o n ao
qual um n especfico pertence. A palavra-chave hierarchybelongsto pode ser usada no script de carga de
dados para transformar uma tabela de ns adjacentes em uma tabela de ancestrais.

6.18 Carregando dados de mapa


Para criar uma visualizao de mapa, necessrio carregar os dados do ponto ou os dados da rea.
possvel carregar dados de mapa de arquivos KML e do Excel. Carregue os dados pelo gerenciador de
dados ou pelo editor de carga de dados. Por padro, todos os campos so selecionados no dilogo de
seleo de dados, mesmo que eles no contenham nenhum dado. Um arquivo KML poderia conter, por
exemplo, os dados da rea, mas nenhum dado do ponto. Embora no haja nada de errado em carregar
campos vazios, pode ser inconveniente ter campos vazios ao trabalhar com a visualizao de mapa.
Adicionar uma dimenso sem nenhum dado a um mapa no gerar nenhuma sada visual e poderia
confundir um usurio. Portanto, voc deve limpar as selees de todos os campos de dados vazios no
dilogo de seleo de dados antes de carregar os dados.

Criando um mapa com dados de um arquivo KML


Geralmente, um arquivo KML contm dados do ponto, dados da rea ou ambos. Na captura de tela a seguir,
do dilogo de seleo de dados, possvel observar que a seleo do campo FloridaCounties.Point foi
limpa, pois o campo no contm nenhum dado. Ao limpar o campo, voc no correr o risco de criar
dimenses de mapa sem nenhum dado.

Carregando e modelando dados - Qlik Sense, 2.0.2

147

6 Prticas recomendadas para a modelagem de dados

Ao clicar em Inserir script, o seguinte script gerado:


LOAD
FloridaCounties.Name,
FloridaCounties.Area
FROM 'lib://data 7/FloridaCounties.kml'
(kml, Table is [Florida Counties KML]);

Se a seleo do campo vazio no tivesse sido limpa, o script tambm conteria a seguinte cadeia de
caracteres:
FloridaCounties.Point,

Ao executar o script e adicionar um grfico de mapa pasta, possvel adicionar FloridaCounties.Area

(area) ou FloridaCounties.Name (area) como uma dimenso.

Carregando e modelando dados - Qlik Sense, 2.0.2

148

6 Prticas recomendadas para a modelagem de dados

Embora voc obtenha o mesmo resultado visual com qualquer um dos campos (um mapa com as regies),
haver uma diferena ao passar o mouse (ou tocar em um dispositivo de toque) sobre uma regio. Se voc
selecionar FloridaCounties.Name (area), o nome do pas mostrado como uma dica de ferramenta, e caso
selecione FloridaCounties.Area (area), os dados de rea so mostrados. O nome da regio , sem dvida,
mais interessante. Alm disso, o carregamento do campo FloridaCounties.Area muito mais lento do que o
carregamento do campo FloridaCounties.Name.
Opcionalmente, tambm possvel adicionar uma medida e usar a colorao por medida para refletir a
diferena no valor da medida entre as diferentes regies.

Se o arquivo KML no contiver nenhum dado do ponto ou dado da rea, no ser possvel
carregar dados desse arquivo. Se o arquivo KML estiver corrompido, uma mensagem de erro
ser exibida e voc no poder carregar os dados.

Criando um mapa a partir dos dados do ponto em um arquivo do Excel


Voc pode criar um mapa usando dados do ponto (coordenadas) de um arquivo do Excel.

Formatos de dados do ponto


Os dados do ponto podem ser lidos em arquivos do Excel. Dois formatos so suportados:
l

Os dados de ponto so armazenados em uma coluna. Cada ponto especificado como uma matriz
de coordenadas x e y: [x, y]. Com coordenadas geoespaciais, isso corresponderia a [longitude,

latitude]. Ao usar este formato, necessrio marcar o campo de dados do ponto com$geopoint;.
l

Os dados de ponto so armazenados em duas colunas, uma para latitude e uma para longitude. A
funo GeoMakePoint() gera um ponto com base neste formato.

Carregando e modelando dados - Qlik Sense, 2.0.2

149

6 Prticas recomendadas para a modelagem de dados


Nos exemplos a seguir, supomos que os arquivos contm os mesmos dados sobre a localizao dos
escritrios da empresa, mas em dois formatos diferentes.

Exemplo 1:
O arquivo do Excel tem o seguinte contedo para cada escritrio:
l

Escritrio (Office)

Local (Location)

Nmero de funcionrios (Employees)

O script de carga poderia ser o seguinte:


LOAD
Office,
Location,
Employees
FROM 'lib://Maps/Offices.xls'
(biff, embedded labels, table is (Sheet1$));

O campo Location contm os dados do ponto; necessrio marcar o campo com $geopoint; para que ele
seja reconhecido como um campo de dados do ponto. Adicione a seguinte cadeia de caracteres aps a
ltima cadeia de caracteres no comando LOAD:
TAG FIELDS Location WITH $geopoint;

O script completo ser o seguinte:


LOAD
Office,
Location,
Employees
FROM 'lib://Maps/Offices.xls'
(biff, embedded labels, table is (Sheet1$));
TAG FIELDS Location WITH $geopoint;

Execute o script e crie uma visualizao do mapa. Adicione a dimenso de ponto ao seu mapa.

Exemplo 2:
O arquivo do Excel tem o seguinte contedo para cada escritrio:
l

Escritrio (Office)

Latitude (Latitude)

Longitude (Longitude)

Nmero de funcionrios (Employees)

O script de carga poderia ser o seguinte:


LOAD

Carregando e modelando dados - Qlik Sense, 2.0.2

150

6 Prticas recomendadas para a modelagem de dados


Office,
Latitude,
Longitude,
Employees
FROM 'lib://Maps/Offices.xls'
(biff, embedded labels, table is (Sheet1$));

Combine os dados nos campos Latitude e Longitude, para definir um novo campo para os pontos.
Execute o script e crie uma visualizao do mapa. Adicione a dimenso de ponto ao seu mapa.
Voc pode escolher criar a dimenso Location no script adicionando as seguintes strings acima do comando
LOAD:
LOAD *, GeoMakePoint(Latitude, Longitude) as Location;

A funo GeoMakePoint() rene os dados de longitude e de latitude.


O script completo ser o seguinte:
LOAD *, GeoMakePoint(Latitude, Longitude) as Location;
LOAD
Office,
Latitude,
Longitude,
Employees
FROM 'lib://Maps/Offices.xls'
(biff, embedded labels, table is (Sheet1$));

Execute o script e crie uma visualizao do mapa. Adicione a dimenso de ponto ao seu mapa.

Nmero de pontos
Por motivos de desempenho, existe um limite para o nmero de pontos que podem ser exibidos. Ao fazer
selees, possvel reduzir a quantidade de dados que sero exibidos.

6.19 Limpeza de dados


Ao carregar dados de tabelas diferentes, observe que os valores de campo que denotam a mesma coisa nem
sempre esto nomeados de forma consistente. Alm de inconveniente, a falta de consistncia impede
associaes, sendo necessrio resolver esse problema. Isso pode ser feito de uma maneira organizada e
simples, criando uma tabela de mapeamento para a comparao dos valores de campo.

Tabelas de mapeamento
As tabelas carregadas usando mapping load ou mapping select so tratadas de forma diferente de outras
tabelas. Elas sero armazenadas em uma rea separada da memria e usadas somente como tabelas de
mapeamento durante a execuo do script. Depois da execuo do script, sero automaticamente
eliminadas.

Carregando e modelando dados - Qlik Sense, 2.0.2

151

6 Prticas recomendadas para a modelagem de dados


Regras:
l

A tabela de mapeamento deve ter duas colunas: a primeira contendo valores de comparao e a
segunda, os valores de mapeamento desejados.
As duas colunas devem ser nomeadas, mas os nomes no tm relevncia neles mesmos. Os nomes
de coluna no tm conexo com os nomes de campo nas tabelas internas normais.

Usando uma tabela de mapeamento


Ao carregar diversas tabelas que listam pases, possvel descobrir que o mesmo pas tem vrios nomes
diferentes. Nesse exemplo, os EUA so listados como US, U.S. e United States.
Para evitar a ocorrncia de trs registros diferentes que denotem os Estados Unidos na tabela concatenada,
possvel criar uma tabela semelhante mostrada e carreg-la como uma tabela de mapeamento.
O script inteiro teria a seguinte aparncia:
CountryMap:
Mapping LOAD x,y from MappingTable.txt
(ansi, txt, delimiter is ',', embedded
labels);
Map Country using CountryMap;
LOAD Country,City from CountryA.txt
(ansi, txt, delimiter is ',', embedded labels);
LOAD Country, City from CountryB.txt
(ansi, txt, delimiter is ',', embedded labels);

O comando mapping carrega o arquivo MappingTable.txt como uma tabela de mapeamento com o rtulo

CountryMap.
O comando map habilita o mapeamento do campo Country usando a tabela de mapeamento CountryMap
carregada anteriormente.
Os comandos LOAD carregam as tabelas CountryA e CountryB. Essas tabelas, que sero concatenadas
por conterem o mesmo conjunto de campos, incluem o campo Country, cujos valores de campo sero
comparados aos da primeira coluna da tabela de mapeamento. Os valores de campo US, U.S. e United
States sero encontrados e substitudos pelos valores da segunda coluna da tabela de mapeamento, isto ,
U SA .
O mapeamento automtico ocorre por ltimo na cadeia de eventos que leva ao campo armazenado na
tabela do Qlik Sense. Em um comando LOAD ou SELECT tpico, a ordem dos eventos ser
aproximadamente a seguinte:

1. Avaliao de expresses
2. Renomeando campos por as
3. Renomeao de campos por alias
4. Qualificao do nome da tabela, se aplicvel
5. Mapeamento de dados em caso de correspondncia dos nomes de campo
Isso significa que o mapeamento no feito sempre que um nome de campo encontrado como parte de
uma expresso, mas quando o valor est armazenado sob o nome de campo na tabela do Qlik Sense.

Carregando e modelando dados - Qlik Sense, 2.0.2

152

6 Prticas recomendadas para a modelagem de dados


Para desabilitar o mapeamento, use o comando unmap.
Para mapeamento no nvel da expresso, use a funo applymap.
Para mapeamento no nvel da subcaractere, use a funo mapsubstring.

Carregando e modelando dados - Qlik Sense, 2.0.2

153

Potrebbero piacerti anche