DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
post favorito     comentários

Soluções de Business Intelligence com Oracle

Veja neste artigo soluções de Business Intelligence com Oracle.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

 

As próximas colunas abordarão o conceito de Business Intelligence dentro do banco de dados Oracle.

Todos sabemos como é importante extrair informações gerenciais do banco de dados. Ter acesso aos dados transacionais (ou relacionais, como prefira) no banco de dados é uma realidade para praticamente todas as empresas.

Sistemas de gerenciamento empresarial (ERP) são responsáveis por armazenar e manter dados sob a rígida fiscalização e controle de processos. Isso faz com que as empresas consigam manter as operações básicas do dia-a-dia, como Folha de Pagamento, Recebíveis, Pagamentos e Controle Contábil. Porém, ter as operações controladas já não é suficiente em um ambiente de alta competitividade.

Para se tomar decisões, é necessário ter acesso ao maior volume de informações possível, dentro de um prazo razoável e de uma maneira permita analisar os dados com facilidade. Dentro desta perspectiva surgiu a necessidade de se adaptar os dados transacionais para que fosse possível extrair informações gerenciais.

Conceitualmente os primeiros são chamados de OLTP (Online Transaction Processing) e os segundos de DSS (Decision Support System).

Conceitos

Em uma rápida pesquisa na Internet, pode-se encontrar facilmente diversos conceitos relacionados ao Business Intelligence. Na Wikipedia encontra-se:

        Data Warehouse (DW): sistema de computação utilizado para armazenar informação relativa às atividades de uma empresa em bancos de dados, de forma consolidada.

        Data Mart: sub-conjunto de dados de um Data Warehouse. Geralmente são dados referentes a um assunto em especial ou diferentes níveis de sumarização.

        Business Intelligence (BI): é um conjunto de metodologias de gestão implementadas através de ferramentas de software, cuja função é proporcionar ganhos nos processos decisórios gerenciais e da alta administração nas organizações.

 

Estas, dentre uma infinidade de outras definições, deixam claro o que se quer alcançar com estes três componentes básicos: a inteligência por trás dos dados. Em maior ou menor grau, com maior ou menor abrangência, ter acesso às informações armazenadas e extrair destes dados subsídios para tomada de decisão é fundamental para sobrevivência das empresas.

Necessidades

O mercado de BI é um dos que mais tem crescido ao longo dos últimos anos. Por este motivo os fornecedores de banco de dados têm procurado atender a esta demanda oferecendo produtos cada vez mais competitivos.

Por outro lado, o mercado de trabalho exige um profissional cada vez mais competente para lidar com esta demanda. Sem nos aprofundarmos neste aspecto, está claro que o profissional de BI deve aliar competências técnicas no banco de dados ao conhecimento do negócio da empresa.

Cada vez mais os produtos de BI deixam de ser uma “caixa preta” e passam a compor o negócio da empresa. Isso faz com que todos os profissionais envolvidos no processo assumam riscos e responsabilidades. No BI tradicional havia a preocupação em levar informações aos usuários. No atual, deve-se criar inteligência nos processos do negócio.

Processo

O processo básico que está por trás de um BI é identificar padrões nos dados armazenados. Com base nestes padrões é possível propor análises que possam prever o comportamento de um determinado perfil, seja cliente, produto, período, etc. Com isso é possível extrair informações importantes para a área financeira, marketing, segurança, etc.

Oracle 10g R 2

Nesta versão do Oracle foi disponibilizado o pacote DBMS_PREDICTIVE_ANALYTICS. Através deste pacote é possível medir o grau de aderência dos dados às previsões que se pode realizar.

A estrutura do pacote é:

 

PROCEDURE EXPLAIN

Argument Name

Type

In/Out

Default?

DATA_TABLE_NAME

VARCHAR2

IN

EXPLAIN_COLUMN_NAME

VARCHAR2

IN

RESULT_TABLE_NAME

VARCHAR2

IN

DATA_SCHEMA_NAME

VARCHAR2

IN

DEFAULT

PROCEDURE PREDICT

Argument Name

Type

In/Out

Default?

ACCURACY

NUMBER

OUT

DATA_TABLE_NAME

VARCHAR2

IN

CASE_ID_COLUMN_NAME

VARCHAR2

IN

TARGET_COLUMN_NAME

VARCHAR2

IN

RESULT_TABLE_NAME

VARCHAR2

IN

DATA_SCHEMA_NAME

VARCHAR2

IN

DEFAULT

 O objetivo dos procedimentos são:

        Procedimento EXPLAIN: analisa o conjunto de dados para explicar o valor de cada atributo. Quanto maior o valor, mais forte o relacionamento entre os dados.

        Procedimento PREDICT: retorna um conjunto de valores que permite analisar o grau de confiança na previsão do conjunto de dados.

 

Imagine que uma empresa tenha um problema para analisar. Este problema está relacionado ao pagamento que os clientes realizam todos os meses. A proposta é realizar um estudo sobre as prestações do cadastro. Sabe-se que o estágio de pagamento das prestações segue a tabela a seguir:

 

Estágio de Recebimento das Parcelas

R – Renegociado

P –Parcialmente recebido

A – Aberto / Não recebido

B – Baixado / Quitado

X – Renegociado

 

Inicia-se o processo de análise com a Explicação dos dados da tabela PARCELA e com base na coluna de estágio de recebimento. O comando a seguir cria a tabela REC_RESULTADOS e atribui o conteúdo da análise realizada. Note que, como a tabela será criada, caso você queira fazer diversas análises precisará apagar a tabela REC_RESULTADOS ou criar tabelas com outros nomes para novas análises.

 

begin

 DBMS_PREDICTIVE_ANALYTICS.EXPLAIN(

   DATA_TABLE_NAME => 'PARCELA',

   EXPLAIN_COLUMN_NAME => 'STPARCELA',

   RESULT_TABLE_NAME => 'REC_RESULTADOS' );

end;

/

 

SELECT * FROM REC_RESULTADOS;

ATTRIBUTE_NAME

EXPLANATORY_VALUE

RANK

CDCONTR

,572647579

1

DTVENC_YYYY

,281829136

2

NRPARCELA

,261050041

3

DTVENC_DD

,248689654

4

NRSEQUENCIA

,246277295

5

CDSERIE

,071490398

6

DTVENC_DDD

,008667611

7

CDRENEG

,001523855

8

DTVENC_WW

,00018959

9

DTVENC_HH24

0

10

DTVENC_MI

0

10

DTVENC_MM

0

10

DTVENC_D

0

10

 

Pode-se notar que o procedimento realizou uma análise que retornou o grau de confiança para se prever algo em cada campo da tabela PARCELA.

 

O comando a seguir irá analisar o processo de previsão com base no resultado do comando anterior.

 

SET SERVEROUTPUT ON

DECLARE

   v_predict_accuracy NUMBER(30,10);

BEGIN

   DBMS_PREDICTIVE_ANALYTICS.PREDICT (

       ACCURACY            => v_predict_accuracy,

       DATA_TABLE_NAME     => 'PARCELA',

       CASE_ID_COLUMN_NAME => 'CDCONTR',

       TARGET_COLUMN_NAME  => 'STPARCELA',

       RESULT_TABLE_NAME   => 'REC_PREVISAO');

     

   DBMS_OUTPUT.PUT_LINE('*** Accuracy ***');

   DBMS_OUTPUT.PUT_LINE(v_predict_accuracy);

END;

/

 

*** Accuracy ***
,5727376841

 

O resultado anterior indica que, com base nas colunas que foram rankeadas de 1 a 9 na listagem anterior, pode-se considerar um grau de acerto de mais de 57% sobre os dados analisados.

 

Quando se pesquisa a tabela criada (REC_PREVISAO), obtém-se a probabilidade de cada contrato por tipo de parcela. Isso porque foram estes os campos atribuídos ao procedimento PREDICT para análise. Em CASE_ID foi colocada a chave para análise e em TARGET_COLUMN_NAME a coluna alvo da análise. Nota-se que o banco de dados retornou, para cada contrato, a coluna mais provável e a probabilidade de ocorrência.

 

CDCONTR

PREDICTION

PROBABILITY

1

X

,332324415

2

X

,333333343

3

B

,19823128

5

A

,249942511

6

R

,229957595

7

A

,245485559

8

B

,19823128

10

B

,191841915

11

P

,172297433

12

A

,249915019

13

B

,199963599

14

B

,199917749

15

B

,19616136

16

B

,189381897

17

B

,199595645

18

R

,229957595

19

B

,192676052

20

A

,248632267

21

A

,248632267

22

R

,217115507

23

R

,217115507

24

R

,217115507

25

B

,188040942

26

A

,239121288

 

Agora você já pode praticar um pouco e extrair suas próprias conclusões através da análise dos dados coletados. Na próxima edição, vamos ver uma ferramenta gráfica (e grátis) da Oracle que nos permite realizar este trabalho de uma maneira mais simpática. Esta ferramenta é o Oracle Data Miner.

 

Até lá!



Celso Henrique Poderoso de Oliveira (cpoderoso@gmail.com) é Mestre em Tecnologia, consultor em banco de dados, coordenador dos cursos superiores de tecnologia da FIAP (Faculdade de Informática e Administração Paulista) e professor [...]

O que você achou deste post?
Conhece a assinatura MVP?
Publicidade
Serviços

Mais posts