domingo, 30 de março de 2014

Teste Prático com Panorama Sheet: Importação e Eliminação de Duplicidade.

Uma das atividades comuns no dia-a-dia da manipulação de bases para Informações Gerenciais é a eliminação de reincidência de registros, ou seja, manter somente o registro em que um determinado processo aparece pela 1a vez.

Exemplo hipotético, uma base de um sistema Workflow onde o processo é repetido para cada atividade:


Cada processo (Numero do Processo) aparece mais de uma vez, o objetivo é manter somente a primeira atividade de cada processo, ou seja, a que tem a menor data de inicio.

Obs: O Processo de numero 3 não passou pela atividade de "Análise de Crédito", em sistemas desta natureza, nem sempre todos os processos passam por todas as atividades, por exemplo, clientes que tem carta de crédito aprovada, por isso não basta selecionar a atividade "Análise de Crédito".

Este teste consiste em comparar a velocidade e simplicidade desta tarefa entre o Microsoft Excel e o Panorama Sheet, colocando a prova a tecnologia baseada em RAM que promete velocidade e flexibilidade:
"Panorama combines the best elements of database and spreadsheet technology into a single package, making it an unparalleled tool for working with and analyzing any kind of information. Like a spreadsheet, Panorama is RAM based for speed and flexibility, but with all of the data processing power of a full blown database application. The short video below demonstrates the benefits of this hybrid database/spreadsheet technology in action. After watching the video,download the Panorama free trial and experience it for yourself !"
O teste foi executado em um MacBook Pro, 2.5 Ghz Intel Core I5 com 8 GB de RAM 1600 Mhz DDR3 executando o OS X 10.0.2 (Mavericks), traduzindo no que interessa: uma maquina atual num patamar acima do padrão comercial (que tem 4 GB de memória RAM).

A base foi exportada através do Microsoft Acces para o formato texto (.txt) utilizando os parâmetros padrões (delimitado por aspas e separada por ponto e virgula) com 958.605 linhas (uma base razoável em sistemas de informação de organizações de médio e grande porte).

Passo-a-Passo que será executado no Excel:

No excel, serão executados os seguintes passos:

  1. Importar a base
  2. Classificar a base por Numero do Processo e por Data Inicio (para que a menor seja a primeira linha de cada processo)
  3. Criar uma formula para testar qual é a primeira linha de cada processo
  4. Fixar a formula, gravar o resultado como valor
  5. Excluir as linhas onde o resultado da formula é Verdadeiro.


A Formula da primeira linha (E2) deve ser A2=A1, assim em E3 a formula automaticamente será A3=A2 de tal modo que será verdadeiro quando o Numero do Processo da linha atual for igual ao Numero do Processo da linha acima.

Somente as linhas 2, 5 e 3 têm o resultado False, ou seja, o Numero do Processo não é igual a linha acima.





Filtro para selecionar os registros que serão excluídos.


Resultado Final (após limpar o filtro):


Executando o procedimento no Excel com a base completa:

A inicialização do Excel, localização do arquivo e importação do arquivo texto completo (com 958.605 linhas e 250 MB de tamanho) demandou 01:58,60, menos do que 2 minutos, considerando o tamanho do base, é um tempo muito bom.

A classificação pelo Numero do Processo e Data inicio, inserção de uma nova coluna, criação da formula, fixação do valor e aplicação do filtro também foram executados em tempos razoáveis. O problema foi na exclusão dos registros. Depois de 01:33:38,47 (uma hora e trinta minutos) e o notebook pelando de quente, abortei o processo.

Naturalmente que teria sido mais eficiente efetuar o processo inverso, ou seja, copiar para uma nova planilha os casos onde o resultado da formula é False ou invés de excluir o True, mas o objetivo é explorar situações mais onerosas ao software e hardware.

Executando o procedimento no Panorama Sheet:

Logo de inicio, chama a atenção o fato do Panorama Sheet não identificar a estrutura do arquivo txt (delimitado por aspas e separado por ponto e virgula).

A documentação fornecida pelo Software é bastante extensa (384 páginas): confirmado, o arquivo deve estar no formato "separado por tabulação ou virgula", diferente do que utilizei (ponto e virgula).

A solução parecia simples: abrir o arquivo em qualquer editor de textos e substituir o ponto e virgula por virgula e as aspas por nada. São "apenas" 18.213.514 ocorrência do caracter ";", substituição feita em 03:31,01 (3 minutos e meio). A substituição das aspas não foi como o esperado, o editor de textos travou e depois de 9 minutos resolvi abortar o processo. Voltar a Access e exportar a base no formato apropriado parece mais eficaz.

Voltando ao teste, agora a estrutura foi reconhecida e a primeira linha do arquivo foi assumida como cabeçalho da tabela:


Mas aparentemente o esforço foi em vão:


Próxima tentativa também foi frustrada: criar primeiro um banco de dados em branco para então incluir os registros através da opção de importação - mesmo erro !

Sabendo que existem muitos caracteres especiais em função da conversão de acentuação, novo teste, retirando todas as colunas com possíveis caracteres especiais através do Excel, mantendo basicamente o Número do Processo e a Data de Inicio da atividade, dados mínimos para atender a necessidade proposta. Também aproveitei para mudar a forma de separação dos campos, agora por tabulação, resultado:


Conclusão:

O aplicativo Panorama Sheet não cumpre o prometido, sequer funcionou em um teste pratico simulando as situações do dia-a-dia.

Existem outros caminhos através do próprio Excel que permitem atingir esse objetivo, portanto, continua sendo a melhor alternativa.

sábado, 29 de março de 2014

Panorama Sheet, uma alternativa de Banco de Dados para análise em Mac OS ?

Inconformado em ter que iniciar uma instância virtualizada (através do Parallels) do Windows XP toda vez que preciso fazer alguma análise de banco de dados mais complexa, uma vez que a Microsoft não disponibiliza o MS Access para Mac OSX, e a tentativa frustrada (alguns recursos não funcionaram) de usar o Wine (acrônimo de Wine Is Not Emulator), que em tese permitiria executar aplicativos do Windows dentro do OS X, fico constantemente em busca de novas soluções.

Hoje me deparei com uma novidade, ao menos para mim, o App (disponível também na App Store) Panorama Sheet.

Pelo review que busquei no Google (http://www.tuaw.com/2011/01/11/panorama-sheets-for-mac-a-first-look/), supreendentemente é um programa antigo, conhecido por aqueles que acompanham a plataforma Mac deste os primórdios, segundo o site próprio www.provue.com a mais de 25 anos desenvolvendo com usuários fiéis, o estranho é não tê-lo encontrado antes.

A versão Panorama Sheet que adquiri, não é muito recomendada em alguns reviews, é apontada como simples de mais, entretanto a versão Panorama (sem o sobrenome Sheet) muito elogiada, é extremamente cara (USD 299,00).

No site do fabricante existem vários videos demonstrado a ferramenta em ação, aparentemente é simples e intuitivo, mas naturalmente não permite avaliar se será capaz de resolver problemas reais de negócio, dai é melhor partir para a versão de avaliação, gratuita por 15 dias.

Postarei minha opinião em outra ocasião, depois de testar profundamente tenho a idéia de relatar um passo-a-passo a partir de uma situação hipotética do uso da ferramenta.

De inicio fica o registro de uma luz no final do túnel, talvez não muito esperançosa pois já percebi que não é possível importar diretamente um arquivo .mdb ou .accdb (extensões o Access).