Buscar

Decision cube

nome

Exio

Colunista ainda sem descrição. Caro colunista, por favor envie-nos sua descrição.

Pré-Requisitos:
* Ter o Delphi instalado em seu computador (qualquer versão igual ou superior a 3);
* Ter conhecimentos básicos de bancos de dados;
* Ter conhecimentos básicos de programação em Delphi.
 
     Muitos componentes estão disponíveis no Delphi e somente alguns poucos fazem um certo “sucesso” entre os programadores, outros estão fadados a serem simples componentes numa paleta. Muitas vezes tentamos entender o funcionamento de determinados componentes, perdemos horas praticando e executando diversas configurações e os resultados não são nada animadores. Os componentes da paleta Decision Cube são um misto do que acabei de falar: falta de sucesso com complexidade. Para acabar de vez com esse problema e mostrar a relevância desses componentes, surge esse artigo. A idéia principal será apresentada em alguns poucos módulos (no máximo três) e a intenção é que outros programadores desenvolvam outras apostilas ou tutoriais como forma de complementar o que possivelmente não foi apresentado nesse material.

    
Os componentes que fazem parte da paleta Decision Cube são num total de seis, são eles: 1 - DecisionCube, 2 - DecisionQuery, 3 - DecisionSource, 4 - DecisionPivot, 5 - DecisionGrid e  6 - DecisionGraph. Veja a figura abaixo:

http://www.delphi.eti.br/colunistas/bitzero_000/dec_1.JPG

     Mas você deve estar se perguntando: o que eu posso fazer com esses componentes? A resposta é simples, você é capaz de criar cruzamentos de dados e de visualizá-los de uma certa forma “multidimensional”. Com ele você é capaz de executar resumos das informações armazenadas em seu banco de dados; podemos implementar em nossos sistemas módulos de apoio ao gerenciamento. É uma forma de aumentar as qualidades e potencialidades do software que você produz para seus clientes.

Função dos Componentes

1 – DecisionCube: O Decision Cube é o componente que poderíamos definir como sendo “o motor” do processo das planilhas de decisão1. É ele o responsável por fazer a análise dos dados em um dataset e montar a estrutura multidimensional, onde cada dimensão corresponde a um campo do dataset sobre as informações que devem ser resumidas. O decision cube pode ser inserido em um form ou data module e pode ser relacionado com qualquer dataset que representará a origem dos dados, porém o mais recomendável e fácil de se usar é o componente DecisionQuery.

1 - Utilizei esse termo já que os resultados geralmente são apresentados em grid’s, sendo muito similares às planilhas de cálculos.

2 – DecisionQuery: O DecisionQuery é um componente muito parecido com o TQuery, aliás, ele é uma especialização. É ele quem prepara os dados que serão entregues ao decision cube. Com o decision query nós vamos criar as consultas que envolverão as tabelas de um banco de dados e que farão parte das tomadas de decisão. É importante ressaltar que o padrão de SQL a ser usado nesse componente deve ser o ANSI-92 SQL.

3 – DecisionSource: O componente DecisionSource é idêntico aos datasources que você utiliza em seus programas. A sua função é a de “linkar” os componentes DecisionGrid, DecisionPivot e DecisionGraph ao componente DecisionCube.

4 – DecisionPivot: O componente DecisionPivot contém todos os botões onde o usuário poderá controlar e manipular os dados que serão apresentados em um decisiongrid ou decisiongraph. Quando os botões são pressionados, eles abrem e fecham as dimensões e disponibilizam dessa forma os valores. Pressionando o botão direito do mouse sobre o decisionpivot, um pequeno menu será apresentado ao usuário onde ele poderá controlar ou testar os estado de uma dimensão. Recurso como arrastar dimensões pode ser executado e dessa forma todas as dimensões são re-arranjadas.

5 – DecisionGrid: O componente DecisionGrid é usado para apresentar os resumos dos cálculos executados sobre um número qualquer de dimensões. As dimensões podem ser apresentadas em linhas ou colunas no grid.

6 – DecisionGraph: O componente DecisionGraph apresenta os dados em formato de gráfico. Os eixos do gráfico correspondem às dimensões. Por padrão, a primeira linha da dimensão aparece no eixo x e a primeira coluna da dimensão aparece no eixo y.

A figura seguinte é uma representação da forma como os componentes podem ser relacionados.

http://www.delphi.eti.br/colunistas/bitzero_000/dec_2.JPG

OBSERVAÇÃO: Quando os resumos ou dimensões estão sendo executados, tudo vai para a memória do computador; quando você adiciona um novo resumo, respectivamente aumenta o consumo de memória; à medida que o número de resumos vai aumentando, o consumo de memória aumentará proporcionalmente e linearmente. Para as dimensões o consumo de memória é muito maior e mais rápido. Se você adicionar uma dimensão com 10 valores, você incrementará o consumo de memória por um fator de 10. Como pudemos ver, quando adicionamos dimensões a um decision cube a memória sofre efeitos dramáticos e podemos perceber rapidamente os problemas relacionados à queda de performance. Esses efeitos tornam-se mais pronunciados, quando as dimensões possuem diversos valores.

O conceito sobre dimensões e resumos

O que foi falado até agora, pode ter deixado você um pouco “zonzo”, porém não é nada que você não possa entender. Veja que foi falado principalmente sobre dimensões e resumos (dimensions e summaries). Vejamos o que realmente é cada um deles:

Dimenções (Dimensions): As dimensões são os campos usados para as linhas e títulos de uma coluna. São os campos que não levam sinal de igual.

Resumos (Summaries): Os resumos são todos aqueles campos que sofrem agregação, por exemplo: nas SQL’s você define os SUM, COUNT e AVERAGE.

OBSERVAÇÃO: Veja que só dei uma pequena pincelada no assunto. Muitas vezes o excesso de teoria nos desanima e nos faz desistir de qualquer coisa. Portanto, esse é o começo da coisa toda. Agora dê uma relaxada e procure pensar um pouco em que você pode usar o Decision Cube nas suas aplicações. Na seqüência desse material, estaremos aplicando o conhecimento desse material.

Publicidade

Vote no artigo




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes do artigo

Categoria: Outros
Adicionado dia: 26/01/06
Por: Exio
Visualizado: 26899 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009