Entendendo a sintaxe de script e as estruturas de dados
Extrair, transformar e carregar
Em geral, a maneira como você carrega dados no aplicativo ou script pode ser explicada pelo processo de extração, transformação e carregamento:
-
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 diferenças entre estes comandos são:
- 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 não pelo Qlik Sense.
- LOAD é usado para carregar dados de um arquivo, de dados definidos no script, de uma tabela carregada anteriormente, de uma página da Web, do resultado de um comando SELECT subsequente ou gerando dados automaticamente.
-
Transformar
A fase de transformação envolve a manipulação dos dados utilizando funções de script e regras para derivar a estrutura do modelo de dados desejado. As operações típicas são:
- Cálculo de novos valores
- Tradução de valores codificados
- Renomeando campos
- União de tabelas
- Agregação de valores
- Criação de tabela dinâmica
- Validação de dados
-
Carregar ou exportar
Na etapa final, você executa o script para carregar o modelo de dados definido no aplicativo ou carrega e exporta os dados do seu script.
Seu objetivo deve ser o de criar um modelo de dados que permita uma manipulação 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 referências circulares, isto é, um modelo no qual cada entidade seja mantida em uma tabela separada. Em outras palavras, um modelo de dados típico teria a seguinte aparência:
- uma tabela central de fatos que contém as chaves para as dimensões e os números usados para calcular medidas (como o número de unidades, o volume das vendas e os valores do orçamento).
- tabelas adjacentes contendo as dimensões com todos os seus atributos (como produtos, clientes, categorias, calendário e fornecedores).
Comandos de carregamento de dados
Os dados são carregados pelos comandos LOAD ou SELECT. Cada um desses comandos gera uma tabela interna. Uma tabela pode sempre ser vista como uma lista de dados, em que cada registro (linha) é uma nova instância do tipo de objeto e cada campo (coluna) é um atributo ou propriedade específica do objeto.
As diferenças entre estes comandos são:
- 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 não pelo Qlik Sense.
- LOAD é usado para carregar dados de um arquivo, de dados definidos no script, de uma tabela carregada anteriormente, de uma página da Web, do resultado de um comando SELECT subsequente ou gerando dados automaticamente.
Regras
As seguintes regras se aplicam durante o carregamento dos dados em aplicativos e scripts:
- O Qlik Sense não diferencia as tabelas geradas por um comando LOAD ou SELECT. Dessa forma, se várias tabelas forem carregadas, não importa se as tabelas são carregadas pelos comandos LOAD ou SELECT ou por uma mistura de ambos.
- A ordem dos campos no comando ou na tabela original da base de dados é arbitrária para a lógica do Qlik Sense.
- Os nomes de campo são utilizados em processos adicionais para identificar campos e fazer associações. Eles diferenciam maiúsculas de minúsculas, o que costuma ser necessário para renomear campos no script.
Execução do script
Em um comando LOAD ou SELECT típico, a ordem dos eventos será aproximadamente a seguinte:
- Avaliação de expressões
- Renomeação de campos por as
- Renomeação de campos por alias
- Qualificação dos nomes de campo
- Mapeamento de dados em caso de correspondência dos nomes de campo
- Armazenamento de dados em uma tabela interna