No meu artigo anterior, discutimos “HComo usar o QVD para tornar seu aplicativo QlikView mais eficiente?”. Neste artigo, daremos um passo à frente para tornar nosso aplicativo mais eficiente ao lidar com grandes dados transacionais. Como mencionei no meu artigo anterior, Eu estava trabalhando em um aplicativo QlikView, onde você tinha que exibir as vendas em vários canais para frequências predefinidas (por exemplo, Diariamente, Por mês, Anualmente).
Inicialmente, estava recarregando toda a tabela de transações diariamente, embora eu já tivesse os dados até ontem comigo. Isso não só levou muito tempo, sino que también aumentó la carga en el servidor de la base de dadosUm banco de dados é um conjunto organizado de informações que permite armazenar, Gerencie e recupere dados com eficiência. Usado em várias aplicações, De sistemas corporativos a plataformas online, Os bancos de dados podem ser relacionais ou não relacionais. O design adequado é fundamental para otimizar o desempenho e garantir a integridade das informações, facilitando assim a tomada de decisão informada em diferentes contextos.... y la red. É aqui que a carga incremental com QVD fez uma grande diferença ao carregar apenas dados novos ou atualizados do banco de dados em uma tabela.
Cargas incrementais:
O carregamento incremental é definido como a atividade de carregar apenas registros novos ou atualizados do banco de dados em um QVD estabelecido. Cargas incrementais são úteis porque funcionam de forma muito eficiente em comparação com cargas completas, especialmente para grandes conjuntos de dados.
O carregamento incremental pode ser implementado de diferentes maneiras, métodos comuns são os seguintes:
- inserir apenas (no validar para registros duplicados)
- inserir e atualizar
- Inserir, atualizar e excluir
Vamos entender cada um deles 3 cenários com um exemplo
1. inserir apenas:
Digamos que temos dados brutos de vendas (no excel) e cada vez que uma nova venda é registrada, é atualizado com detalhes básicos sobre a venda por data de modificação. Já que estamos trabalhando em QVD, já temos QVD criado até ontem (25 agosto 2014 neste caso). Agora, Eu quero carregar apenas os registros incrementais (destacado em amarelo abaixo).
Para realizar este exercício, primeiro crie um QVD para os dados até 25 agosto 2014. Para identificar novos registros incrementais, precisamos saber a data em que, QVD já está atualizado. Isso pode ser identificado verificando a data_modificada máxima no arquivo QVD disponível.
Como mencionado anteriormente, eu assumi que “Vendas. qvd”É atualizado com dados de até 25 agosto 2014. Para identificar a data da última modificação de “Vendas. qvd”, O código a seguir pode ajudar:
Aqui, Carreguei o último QVD atualizado na memória e identifiquei a data da última modificação armazenando no máximo “Modificação de data”. A seguir, almacenamos esta fecha en una variávelEm estatística e matemática, uma "variável" é um símbolo que representa um valor que pode mudar ou variar. Existem diferentes tipos de variáveis, e qualitativo, que descrevem características não numéricas, e quantitativo, representando quantidades numéricas. Variáveis são fundamentais em experimentos e estudos, uma vez que permitem a análise de relações e padrões entre diferentes elementos, facilitando a compreensão de fenômenos complexos.... “Data_última_atualizada“E solte a mesa”Vendas”. No código acima, Eu tenho usado Olhar() função para armazenar a data máxima de modificação. Aqui está sua sintaxe:
Olhadinha (nome do campo, número da linha, Nome da tabela)
Esta função retorna o conteúdo de um determinado campo para uma linha especificada da tabela interna. FieldName e TableName devem ser fornecidos como uma string e Row deve ser um número inteiro. 0 denota o primeiro registro, 1 a segunda e assim por diante. Números negativos indicam a ordem do final da tabela. -1 denota o último registro.
Uma vez que sabemos a data a partir da qual as inscrições serão consideradas novas inscrições, podemos carregar registros incrementais do conjunto de dados (cláusula Onde"ONDE" é um termo em inglês que se traduz como "Onde" em espanhol. Usado para fazer perguntas sobre a localização das pessoas, Objetos ou eventos. Em contextos gramaticais, Pode funcionar como advérbio de lugar e é fundamental na formação de perguntas. Sua correta aplicação é essencial na comunicação cotidiana e no ensino de idiomas, facilitando a compreensão e troca de informações sobre posições e direções.... en la instrucción Load) e mescle-os com o QVD disponível (veja o instantâneo abaixo).
Agora, carregar QVD atualizado (Vendas), teria registros incrementais.
Como você pode ver, adicionou dois registros 26 agosto 2014. Porém, também inserimos um registro duplicado. Agora podemos dizer que um método somente INSERT não valida registros duplicados porque não acessamos os registros disponíveis.
O que mais, neste método não podemos atualizar o valor dos registros existentes.
Para resumir, los siguientes son los pasos para cargar solo los registros incrementales en QVD usando el método INSERIRO fim "INSERIR" refere-se à ação de agregar dados em um banco de dados ou sistema. No contexto da programação, é comumente usado em linguagens SQL para inserir novas linhas em uma tabela. Esse processo é essencial para manter a integridade e a atualização das informações. O uso adequado da instrução INSERT contribui para a eficiência e eficácia no gerenciamento de dados.... só:
1) Identifique novos registros e carregue-os
2) Concatenar esses dados com um arquivo QVD
3) Substitua o arquivo QVD antigo por uma nova tabela concatenada
2. Inserir e atualizar o método:
Como visto no exemplo acima, não podemos realizar a verificação de registro duplicado e atualizar o registro existente. este é o lugar onde, o método Insert and Update vem para ajudar:
No conjunto de dados acima (mesa certa), temos um recorde (ID = PRD1458) adicionar e outros (ID = PRD858) atualizar (valor de vendas de 131 uma 140). Agora, para atualizar e verificar se há registros duplicados, precisamos de uma chave primária em nosso conjunto de dados.
Suponha que id seja a chave primária e, com base na data de modificação e ID, devemos ser capazes de identificar e classificar registros novos ou alterados.
Para executar este método, siga etapas semelhantes para identificar os novos registros como fizemos no método INSERT only e enquanto concatenamos os dados incrementais com um existente, aplicar a verificação de registros duplicados ou atualizar o valor dos registros existentes.
Aqui, carregamos apenas os registros onde a chave primária (EU IRIA) é novo e o uso da função Existe () impede o QVD de carregar registros desatualizados, pois a versão ATUALIZADA está atualmente na memória, para que os valores dos registros existentes sejam atualizados automaticamente.
Agora, temos todos os registros exclusivos disponíveis em QVD com valor de venda atualizado para ID (PRD858).
3. método INSERIR, ATUALIZAR E EXCLUIR:
O script para este método é muito semelhante ao INSERT & ATUALIZARO fim "ATUALIZAR" É comumente usado no campo tecnológico e de comunicação para se referir à ação de atualização de informações, Software ou Sistemas. Em um mundo em constante evolução, As atualizações são essenciais para melhorar a segurança, Corrija bugs e adicione novos recursos. Empresas e usuários devem ficar de olho nas atualizações disponíveis para garantir o desempenho ideal e manter a integridade de seus dispositivos e dados...., porém, aqui temos uma etapa adicional necessária para remover os registros excluídos.
Carregaremos as chaves primárias de todos os registros no conjunto de dados atual e aplicaremos uma junção interna com o conjunto de dados concatenado (Antigo + Incremental). A junção interna reterá apenas os registros comuns e, portanto, irá remover registros indesejados. Suponha que queremos excluir um registro de (ID PRD1058) no exemplo acima.
Aqui, temos um conjunto de dados com a adição de um registro (ID PRD1458), modificando um registro (ID PRD158) e excluindo um registro (ID PRD1058).
Notas finais:
Neste artigo, discutimos como as cargas incrementais são melhores e fornecem uma maneira eficiente de carregar dados em comparação com a carga COMPLETA. como boa prática, você deve ter um backup regular de seus dados porque pode ser afetado ou pode ocorrer perda de dados, se houver problemas com o servidor de banco de dados e a rede.
Dependendo da sua indústria e necessidade de aplicação, você pode selecionar qual método funciona para você. A maioria dos aplicativos comuns na indústria BFSI são baseados em Insert and Update. A exclusão de log não é normalmente usada.
Você já enfrentou uma situação semelhante ou tem outro truque para melhorar a eficiência dos aplicativos Qlikview?? Sim é assim, Eu adoraria ouvir seus pensamentos nos comentários abaixo., como também beneficia alguém tentando lidar com uma situação semelhante.