• Nenhum resultado encontrado

Introdução a Data Warehouse e OLAP

N/A
N/A
Protected

Academic year: 2021

Share "Introdução a Data Warehouse e OLAP"

Copied!
59
0
0

Texto

(1)

Criei esta apostila para ajudar um grupo de angolanos a aprender OLAP, mas servirá para quem quer Criei esta apostila para ajudar um grupo de angolanos a aprender OLAP, mas servirá para quem quer aprender sobre esta. O conteudo é basico e indicado a iniciantes.

aprender sobre esta. O conteudo é basico e indicado a iniciantes.

Perfil Microsoft:

Perfil Microsoft: https://www.mcpvirtualbusinesscard.com/VBCServer/msincic/profilehttps://www.mcpvirtualbusinesscard.com/VBCServer/msincic/profile

Marcelo Sincic trabalha com informática desde 1988. Durante anos trabalhou com

Marcelo Sincic trabalha com informática desde 1988. Durante anos trabalhou com desenvolvimento (iniciando comdesenvolvimento (iniciando com Dbase III e Clipper S'87) e com redes (Novell 2.0

Dbase III e Clipper S'87) e com redes (Novell 2.0 e Lantastic).e Lantastic).

Hoje atua como consultor e instrutor para diversos parceiros e clientes Microsoft. Hoje atua como consultor e instrutor para diversos parceiros e clientes Microsoft.

Recebeu em abril de 2009 o prêmio

Recebeu em abril de 2009 o prêmio Latin American MCT AwardsLatin American MCT Awardsno MCT Summit 2009, um no MCT Summit 2009, um prêmio entregue a apenasprêmio entregue a apenas

5 instrutores de toda a América Latina (

5 instrutores de toda a América Latina ( http://www.marcelosincic.eti.br/Blog/post/Microsoft-MCT-Awards-America-

http://www.marcelosincic.eti.br/Blog/post/Microsoft-MCT-Awards-America-Latina.aspx

Latina.aspx).).

Recebeu em setembro de 2009 o prêmio

Recebeu em setembro de 2009 o prêmio IT HEROIT HEROda equipe Microsoft Technet Brasil em reconhecimento a projetoda equipe Microsoft Technet Brasil em reconhecimento a projeto

desenvolvido (

desenvolvido (http://www.marcelosincic.eti.br/Blog/post/IT-Hero-Microsoft-TechNet.aspxhttp://www.marcelosincic.eti.br/Blog/post/IT-Hero-Microsoft-TechNet.aspx). Em Novembro de 2009). Em Novembro de 2009 recebeu novamente um premio do programa IT Hero agora na categoria de especiali

recebeu novamente um premio do programa IT Hero agora na categoria de especiali stasstas

((http://www.marcelosincic.eti.br/Blog/post/TechNet-IT-Hero-Especialista-Selecionado-o-nosso-projeto-de-OCS-

http://www.marcelosincic.eti.br/Blog/post/TechNet-IT-Hero-Especialista-Selecionado-o-nosso-projeto-de-OCS-2007.aspx

2007.aspx).).

Acumula por 5 vezes certificações com o título

Acumula por 5 vezes certificações com o título Charter MemberCharter Member, indicando estar entre os primeiros do mundo a se, indicando estar entre os primeiros do mundo a se

certificarem profissionalmente em Windows 2008 e Windows 7. certificarem profissionalmente em Windows 2008 e Windows 7.

Possui diversas certificações oficiais de TI: Possui diversas certificações oficiais de TI:

MCITP - Microsoft Certified IT Professional Database Administrator SQL Server 2008 MCITP - Microsoft Certified IT Professional Database Administrator SQL Server 2008 MCITP - Microsoft Certified IT Professional Database Administrator SQL Server 2005 MCITP - Microsoft Certified IT Professional Database Administrator SQL Server 2005 MCITP - Microsoft Certified IT Professional Windows Server 2008 Admin

MCITP - Microsoft Certified IT Professional Windows Server 2008 Admin MCITP - Microsoft Certified IT

MCITP - Microsoft Certified IT Professional Enterprise Administrator Windows 7 Charter MemberProfessional Enterprise Administrator Windows 7 Charter Member MCITP - Microsoft Certified IT Professional Enterprise Support Technical

MCITP - Microsoft Certified IT Professional Enterprise Support Technical MCPD - Microsoft Certified Professional Developer: Web

MCPD - Microsoft Certified Professional Developer: Web ApplicationsApplications

MCTS - Microsoft Certified Technology Specialist: Windows 7 Charter Member MCTS - Microsoft Certified Technology Specialist: Windows 7 Charter Member MCTS - Microsoft Certified Technology Specialist: Windows Mobile 6. Charter Member MCTS - Microsoft Certified Technology Specialist: Windows Mobile 6. Charter Member

MCTS - Microsoft Certified Technology Specialist: Windows 2008 Active Directory Charter Member MCTS - Microsoft Certified Technology Specialist: Windows 2008 Active Directory Charter Member MCTS - Microsoft Certified Technology Speci

MCTS - Microsoft Certified Technology Speci alist: Windows 2008 alist: Windows 2008 Networking Charter MemberNetworking Charter Member MCTS - Microsoft Certified Technology Speci

MCTS - Microsoft Certified Technology Speci alist: System Center Configuration Manageralist: System Center Configuration Manager MCTS - Microsoft Certified Technology Speci

MCTS - Microsoft Certified Technology Speci alist: System Center Operations Manageralist: System Center Operations Manager MCTS - Microsoft Certified Technology Specialist: Exchange 2007

MCTS - Microsoft Certified Technology Specialist: Exchange 2007

MCTS - Microsoft Certified Technology Specialist: Windows Sharepoint Services 3.0 MCTS - Microsoft Certified Technology Specialist: Windows Sharepoint Services 3.0 MCTS - Microsoft Certified Technology Specialist: SQL Server 2008

MCTS - Microsoft Certified Technology Specialist: SQL Server 2008

MCTS - Microsoft Certified Technology Specialist: .NET Framework 3.5, ASP.NET Applications MCTS - Microsoft Certified Technology Specialist: .NET Framework 3.5, ASP.NET Applications MCTS - Microsoft Certified Technology Specialist: SQL Server 2005

MCTS - Microsoft Certified Technology Specialist: SQL Server 2005 MCTS - Microsoft Certified Technology Specialist: Windows Vista MCTS - Microsoft Certified Technology Specialist: Windows Vista MCTS - Microsoft Certified Technology Specialist: .NET Famework 2.0 MCTS - Microsoft Certified Technology Specialist: .NET Famework 2.0 MCDBA – Microsoft Certified Database Administrator (SQL Server

MCDBA – Microsoft Certified Database Administrator (SQL Server 2000/OLAP/BI2000/OLAP/BI)) MCAD – Microsoft Certified Application Developer .NET

MCAD – Microsoft Certified Application Developer .NET

MCSA 2000 – Microsoft Certified System Administrator Windows 2000 MCSA 2000 – Microsoft Certified System Administrator Windows 2000 MCSA 2003 – Microsoft Certified System Administrator Windows 2003 MCSA 2003 – Microsoft Certified System Administrator Windows 2003 Microsoft Small and Medium Business Specialist

Microsoft Small and Medium Business Specialist MCP – Visual Basic e ASP

MCP – Visual Basic e ASP MCT – Microsoft Certified Trainer MCT – Microsoft Certified Trainer SUN Java Trainer – Java

SUN Java Trainer – Java Core Trainer ApprovedCore Trainer Approved IBM Certified System Administrator – Lotus

(2)

Introdução a Data Warehouse e OLAP

Introdução a Data Warehouse e OLAP

Dados no formato relacional são muito ageis para as tarefas

Dados no formato relacional são muito ageis para as tarefas do dia a dia, mas muito lentos para consultas análiticas.do dia a dia, mas muito lentos para consultas análiticas. Isto se dá em virtude de dados relacionais serem utilizados para controle de entidades, seja quais forem, e portanto Isto se dá em virtude de dados relacionais serem utilizados para controle de entidades, seja quais forem, e portanto contem uma lista de atributos, as colunas, e os itens que são as linhas. Mas para análise de dados o ideal é

contem uma lista de atributos, as colunas, e os itens que são as linhas. Mas para análise de dados o ideal é a visualizaçãoa visualização invertida, ou seja, os atributos serem as linhas e os itens nas

invertida, ou seja, os atributos serem as linhas e os itens nas colunas, como o exemplo abaixo demostra:colunas, como o exemplo abaixo demostra:

Cliente

Cliente Produto Produto QuantidadeQuantidade ABC

ABC Camisa Camisa 2020

ABC

ABC Calça Calça 1010

XYZ

XYZ Camisa Camisa 3030

XYZ

XYZ Calça Calça 2020

Tabela no formato relacional (OLTP) Tabela no formato relacional (OLTP) Produto

Produto ABC ABC XYZXYZ Camisa

Camisa 20 20 3030 Calça

Calça 10 10 2020 Tabela no formato análitico (OLAP)

Tabela no formato análitico (OLAP)

Note que os dados são os mesmos, mas a f

Note que os dados são os mesmos, mas a forma de apresentação mudou e garantiu que uma análise mais apurada fosseorma de apresentação mudou e garantiu que uma análise mais apurada fosse desenvolvida, como por exemplo, a soma das vendas por produto, onde anteriormente só era possivel ver as vendas desenvolvida, como por exemplo, a soma das vendas por produto, onde anteriormente só era possivel ver as vendas totais.

totais.

Esta realocação das linhas em

Esta realocação das linhas em colunas e das colunas em linhas colunas e das colunas em linhas recebe o nome derecebe o nome decross-joincross-join(referência cruzada). Este(referência cruzada). Este modelo de planilhas é chamado de

(3)

Introdução a Data Warehouse e OLAP

Introdução a Data Warehouse e OLAP

Dados no formato relacional são muito ageis para as tarefas

Dados no formato relacional são muito ageis para as tarefas do dia a dia, mas muito lentos para consultas análiticas.do dia a dia, mas muito lentos para consultas análiticas. Isto se dá em virtude de dados relacionais serem utilizados para controle de entidades, seja quais forem, e portanto Isto se dá em virtude de dados relacionais serem utilizados para controle de entidades, seja quais forem, e portanto contem uma lista de atributos, as colunas, e os itens que são as linhas. Mas para análise de dados o ideal é

contem uma lista de atributos, as colunas, e os itens que são as linhas. Mas para análise de dados o ideal é a visualizaçãoa visualização invertida, ou seja, os atributos serem as linhas e os itens nas

invertida, ou seja, os atributos serem as linhas e os itens nas colunas, como o exemplo abaixo demostra:colunas, como o exemplo abaixo demostra:

Cliente

Cliente Produto Produto QuantidadeQuantidade ABC

ABC Camisa Camisa 2020

ABC

ABC Calça Calça 1010

XYZ

XYZ Camisa Camisa 3030

XYZ

XYZ Calça Calça 2020

Tabela no formato relacional (OLTP) Tabela no formato relacional (OLTP) Produto

Produto ABC ABC XYZXYZ Camisa

Camisa 20 20 3030 Calça

Calça 10 10 2020 Tabela no formato análitico (OLAP)

Tabela no formato análitico (OLAP)

Note que os dados são os mesmos, mas a f

Note que os dados são os mesmos, mas a forma de apresentação mudou e garantiu que uma análise mais apurada fosseorma de apresentação mudou e garantiu que uma análise mais apurada fosse desenvolvida, como por exemplo, a soma das vendas por produto, onde anteriormente só era possivel ver as vendas desenvolvida, como por exemplo, a soma das vendas por produto, onde anteriormente só era possivel ver as vendas totais.

totais.

Esta realocação das linhas em

Esta realocação das linhas em colunas e das colunas em linhas colunas e das colunas em linhas recebe o nome derecebe o nome decross-joincross-join(referência cruzada). Este(referência cruzada). Este modelo de planilhas é chamado de

modelo de planilhas é chamado dePivot TablePivot Table..

Os dados cruzados na segunda planilha é o obtido por utilizar produtos que transformem os dados relacionais OLTP Os dados cruzados na segunda planilha é o obtido por utilizar produtos que transformem os dados relacionais OLTP (Online transaction process) em dados OLAP (Online analisys process). Estra

(Online transaction process) em dados OLAP (Online analisys process). Estra transformação de dados é armazenada emtransformação de dados é armazenada em um objeto

um objetocubocubo. Os cubos contem os dados em formato. Os cubos contem os dados em formatocross-joincross-joine utilizando uma ferramentae utilizando uma ferramenta pivot table pivot table como o Excelcomo o Excel podemos montar tabelas em formato livre, como veremos mais adiante.

podemos montar tabelas em formato livre, como veremos mais adiante.

Segue uma lista dos termos utilizados até o momento e que não podemos esquecer: Segue uma lista dos termos utilizados até o momento e que não podemos esquecer:

(4)

• OLAPOLAP– Online analisys process. Programa que permite – Online analisys process. Programa que permite transformar os dados relacionais (OLTP) em transformar os dados relacionais (OLTP) em dadosdados

consolidados utilizando cross-join e gerando os cubos com os

consolidados utilizando cross-join e gerando os cubos com os cruzamentos. A arquitetura OLAP é cruzamentos. A arquitetura OLAP é otimizada paraotimizada para consolidação e leitura, não permitindo gravação ou

consolidação e leitura, não permitindo gravação ou alterações.alterações.

• OLTPOLTP– Online transaction process. São os servidores de – Online transaction process. São os servidores de banco de dados utilizados comercialmente desdebanco de dados utilizados comercialmente desde

Microsoft SQL Server, Oracle ou mesmo Access e Excel, já que todos estes tem os dados otimizados para Microsoft SQL Server, Oracle ou mesmo Access e Excel, já que todos estes tem os dados otimizados para operações de leitura e gravação constante.

operações de leitura e gravação constante. Sua desvantagem é a dificuldade em gerar Sua desvantagem é a dificuldade em gerar dados consolidados emdados consolidados em tempo hábil.

tempo hábil.

• Data WarehouseData Warehouse– Repositório de cubos gerados – Repositório de cubos gerados para análise.para análise. •

• Pivot TablePivot Table– Programa visualizador dos – Programa visualizador dos cubos, permitindo montar visões e tacubos, permitindo montar visões e tabelas dinamicamente arrastandobelas dinamicamente arrastando

os dados em colunas e linhas. Um bom programa para esta tarefa é

os dados em colunas e linhas. Um bom programa para esta tarefa é o Excel.o Excel.

• Cross-JoinCross-Join– Processo onde se faz a junção dos dados e transforma-se as colunas em linhas e as linhas em– Processo onde se faz a junção dos dados e transforma-se as colunas em linhas e as linhas em

colunas gerando dados cruzados. colunas gerando dados cruzados.

(5)

OLAP no Microsoft SQL Server 2005

OLAP no Microsoft SQL Server 2005

No SQL Server 2005 é possível trabalhar todos os recursos de OLAP

No SQL Server 2005 é possível trabalhar todos os recursos de OLAP por utilizar suas ferramentas de transformação depor utilizar suas ferramentas de transformação de dados para gerar

dados para gerarstaging tablesstaging tables, tabelas transitórias com dados , tabelas transitórias com dados de várias fontes, ou então de várias fontes, ou então diretamente nos cubos.diretamente nos cubos.

Esses dois processo estão exemplificados abaixo: Esses dois processo estão exemplificados abaixo:

Modelo 1: Geração dos

Modelo 1: Geração dos dados OLAP utilizando tabelas unificadasdados OLAP utilizando tabelas unificadas

Modelo 2: Geração dos dados OLAP utilizando diretamente as tabelas fontes OLTP Modelo 2: Geração dos dados OLAP utilizando diretamente as tabelas fontes OLTP

No primeiro modelo vemos que os dados em diversas fontes geraram uma fonte de dados secundária, que servirá para No primeiro modelo vemos que os dados em diversas fontes geraram uma fonte de dados secundária, que servirá para gerar os cubos

gerar os cubos análiticos.análiticos.

Data warehouse (OLAP Service) Data warehouse (OLAP Service) Oracle Oracle ou SQL ou SQL Excel Excel ou ou Access Access Staging Staging tables

tables Data MartsData Marts CuboCubo

Cubo Cubo

Data warehouse (OLAP Service) Data warehouse (OLAP Service) Oracle Oracle ou SQL ou SQL Excel Excel ou ou Access Access Data Marts

Data Marts CuboCubo

Cubo Cubo

(6)

Este processo é feito por

Este processo é feito por uma ferramenta do SQL uma ferramenta do SQL Server chamada de SSIS (SQL Server Intergration Service) que permiteServer chamada de SSIS (SQL Server Intergration Service) que permite alterar os dados fontes em qualquer formato para um formato

alterar os dados fontes em qualquer formato para um formato único. Por exemplo, é possivel com este recursoúnico. Por exemplo, é possivel com este recurso transformar dados em Excel relacionando com tabelas em Oracle ou outra fonte e gerar uma tabela única. transformar dados em Excel relacionando com tabelas em Oracle ou outra fonte e gerar uma tabela única.

O segundo modelo apresentado utiliza apenas o

O segundo modelo apresentado utiliza apenas o OLAP Services que também permite a OLAP Services que também permite a integração de dadosintegração de dados heterogênios para formar uma

heterogênios para formar uma única fonte de dados aos única fonte de dados aos cubos analíticos.cubos analíticos. O serviço OLAP do SQL Server 2005 alêm disso permite também a vi

O serviço OLAP do SQL Server 2005 alêm disso permite também a vi sualização imediata dos cubos em pivot tables,sualização imediata dos cubos em pivot tables, agendamento das atualizações dos cubos e

agendamento das atualizações dos cubos e segurança ao acesso dos dados.segurança ao acesso dos dados.

O serviço OLAP tambem permitirá trabalhar com diversos tipos de armazenamento dos cubos, conforme a tabela a O serviço OLAP tambem permitirá trabalhar com diversos tipos de armazenamento dos cubos, conforme a tabela a seguir:

seguir:

Modelo

Modelo ArmazenamArmazenamento ento ComentáriosComentários HOLAP

HOLAP Hibrido. As agregações (cubos) ficam no OLAPHibrido. As agregações (cubos) ficam no OLAP

Services e os dados fonte continuam residindo no Services e os dados fonte continuam residindo no OLTP.

OLTP.

Modelo mais utilizado, Modelo mais utilizado, ocupando relativamente ocupando relativamente pouco espaço e utilizando a pouco espaço e utilizando a base OLTP apenas quando base OLTP apenas quando usuário pede detalhes. usuário pede detalhes.

MOLAP

MOLAP Nativo. Tanto aos cubos quanto os Nativo. Tanto aos cubos quanto os dados fontedados fonte

ficam gravados no OLAP. ficam gravados no OLAP.

Ocupa muito espaço, Ocupa muito espaço,

principalmente com grandes principalmente com grandes databases já que duplica a databases já que duplica a fonte dos dados. Sua fonte dos dados. Sua vantagem é a

vantagem é a performance.performance.

Nota: Não trataremos do SSID por se tratar de uma ferramenta de desenvolvimento complexa e não Nota: Não trataremos do SSID por se tratar de uma ferramenta de desenvolvimento complexa e não  faz parte do OLAP Services e sim do SQL S

(7)

Instalação do OLAP Services

A instalação do serviço de OLAP da Microsoft é feita no próprio setup do SQL Server, já que apesar de ser um serviço sepaado do SQL Server é parte do produto.

Para fazer a instalação do OLAP no mesmo momento em que se instala o SQL Server basta escolher na lista de componentes o Analisys Services.

Se a instalação do OLAP for feita após a instalação do SQL Server, utilize a opção Adicionar/Remover Programas do painel de controle do Windows e clique no botão Alterar do SQL Server.

Em qualquer uma das situações a tela abaixo mostra o componente (feature) do OLAP sendo incluida na instalação.

Tela de instalaçao do SQL Server para inclusão do serviço OLAP

Ao incluir o serviço de OLAP é gerado no SQL Server um database que tem por função ser umMetadata Repository , ou repositório de dados metafóricos, onde as configurações do serviço ficam armazenadas.

(8)

Com a instalação do serviço de OLAP serão acrescentados no menu iniciar do grupo SQL Server um novo subgrupo

 Analisys Services e um atalho para o Business Inteligence Development Studio:

 Alteração no menu Iniciar após a instalação do OLAP

O subgrupo Analisys Services contem apenas um wizard para distribuição das configurações de um cubo para outro servidor. Já o atalho para o BI Studio executa oVisual Studio 2005, ambiente integrado de desenvolvimento que é utilizado para todas as linguagens da Microsoft, inclusive o Office e o SQL Server.

Ao chamar o BI Studio notará que na tela de apresentação irá constar o SQL Server como embutido nos projetos que podem ser criados.

(9)

Lista dos projetos SQL Server no Visual Studio 2005

Os dois primeiros tipos de projetos se referem ao OLAP, o primeiro um novo projeto e o segundo para importar projetos criados no SQL Server 2000.

Com estas opções instaladas verifique no painel de serviços das ferramentas administrativas do Windows se o serviço OLAP está instalado e executado.

Se o serviço não estiver iniciado bastará iniciá-lo agora. Caso o serviço acuse erros verifique noEvent Viewer do Windows a mensagem que ele gerou para resolver o problema.

Com o serviço iniciado e rodando, bem como as ferramentas do BI Studio acusando o Analisys Services é sinal de que toda a instalação ocorreu com sucesso.

(10)
(11)

 Administrando o SSAS

A administração do servidor SQL Server Analisys Service é feita no mesmo console de gerenciamento do SQL Server, o SQL Server Management Studio.

Por este console podemos deletar e criar scripts para cada um dos objetos, mas não criá-los (excetoRoles), tarefa que cabe aoSQL Server Business Intelligence Development Studio.

(12)
(13)

Criando um Projeto OLAP

Para criar um projeto OLAP é utilizada a interface visual do Microsoft Visual Studio 2005 como já comentados nos tópicos anteriores.

A chamada é feita no menu Iniciar na lista de programa dos SQL Server 2005 no atalhoSQL Server Business Intelligence Development Studioe teremos a interface do Visual Studio 2005 em branco.

Clique emFile -> New -> Project e terá a tela a seguir, onde os projetos OLAP aparecem dentro dos modelos deBusiness Intelligence Projects.

(14)

O passo seguinte é escolher o projeto Analisys Services Project , colocar o nome e o caminho do projeto no disco, onde por padrão são criados diretório dentro de Meus Documentos.

Projeto com tipo, nome e localização definida

No canto direito da tela principal é possivel agora ver os componentes de uma solução OLAP, como a figura abaixo representa, que é chamada de propriedades do projeto (Project Properties).

(15)

 Janela Propriedades do Projeto

Segue a definição de cada uma das pastas que compõe um projeto OLAP:

Pasta do Projeto Descrição

Data Sources São os diferentes locais de onde os dados poderão vir, tambem

chamados de conexões.

Data Source Views As consultas que baseadas nos Data Sources criados permitiram o uso,

permite a integração das várias bases para formar um único repositório homogênio.

Cubes Definição das consultas.

Dimensions Atributos que serão utilizados para a formação dos pivot table.

Mining Structures Estruturas que permitem analisar automaticamente desvios padrão nos

dados, como por exemplo, tendencia geográfica entre outros.

Roles Segurança de acesso.

Assemblies DLLs que permitem customização na forma de geração dos cubos. Miscellaneous Arquivos diversos.

Para inserir os dados nos diferentes componentes do OLAP basta clicar e escolher a opçãoNew .

Um único projeto pode conter diversos cubos, medidas e fontes. A recomendação em geral é que cada projeto contenha um grupo de cubos e seus necessários componentes, como por exemplo, um projeto para o departamento de vendas

(16)

que contem todos os cubos baseados em clientes versus pedidos. Um projeto para o departamento financeiro que contenha todos os cubos baseados em clientes versus recebimentos e fornecedores versus pagamentos.

Se seguirmos o padrão um projeto por grupo, seja departamental ou funcional, será mais fácil os usuários selecionarem o que desejam, primeiro escolher o grupo e dentro do grupo os diversos modelos analiticos que foram criados.

Se seguirmos o modelo de um único projeto com todos os cubos analíticos dentro teríamos uma dificuldade grande para o usuário escolher qual é o que ele deseja, se a análise é financeira ou de demanda para o cliente, por exemplo.

(17)

Definindo Fontes de Dados

O primeiro passo para podermos criar um projeto OLAP é definirmos de onde os dados estarão sendo lidos. Esta configuração é feita emData Sourcesno projeto de OLAP.

Clique com o botão direito sobre Data Source e escolha a opçãoNew Data Sourceao que será mostrada a tela de definição para uma fonte de dados.

Tela inicial de criação de um novo data source

Na tela seguinte é mostrada uma lista com os data sources que já foram criados para seleção ou então clique no botão

(18)

Seleção de um data source já existente ou para crição de um novo

Ao criar uma nova fonte de dados, clicando no botãoNew , definimos o tipo de banco (Oracle, SQL, Excel, etc), o nome do servidor se for o caso ou o caminho do arquivo quando é arquivo. A tela configura é similar a abaixo.

(19)

Tela de definição de um novo data source

Com o nome do servidor e o tipo informado definimos tambem o nome do banco de dados que será utilizado quando este for um servidor relacional.

(20)

Definição completa do novo data source

O passo seguinte é informarmos ao projeto qual o usuário que tem permissão para executar as ag ragações, sendo as opções:

Tipo Utilização

Specified user and password Para informar manualmente um nome de

usuário e a senha. Apenas quando o modo de autenticação do servidor SQL Server for misto.

(21)

Informações sobre o processo de autenticação para o data source

Informados o tipo de fonte, o nome do servidor quando for o caso ou o caminho do arquivo, o banco de dados ou planilha, usuário a ser utilizado e o nome da fonte temos agora a fonte na lista dos Data Sources do projeto.

(22)
(23)

Definindo Apresentações dos Dados

Uma vez definidas as fontes de dados agora precisamos definir as chamadas tabelas de fato.

Tabelas de fato são aquelas que contem o dado a ser agregado, ou mensurado. Essa tabela contem dados númericos que são agregados e atributos que podem ser transformados em eixos, ou dimensões.

Por exemplo, na tabela abaixo podemos identificar a coluna quantidade como medida (measure) e as colunas cliente e produto servirão de eixos (dimensions).

Cliente Produto Quantidade

ABC Camisa 20

ABC Calça 10

XYZ Camisa 30

XYZ Calça 20

Podemos identificar as medidas por verificar em uma tabela os dados que podem ser somados, neste caso a quantidade. E as dimensões são as colunas da tabela que podemos cruzar, no caso cliente e produto, podendo verificar as vendas de calças por cliente ou clientes que compraram camisas, sendo a quantidade sempre o dado resultante.

Normalmente osdata source viewssão formados na estrutura estrela (star schema), onde a tabela de fatos tem códigos que se relacionam com as tabelas de dimensão. O modelo abaixo demonstra bem esta relação entre a tabela de fato e as tabelas de dimensão.

(24)

Exemplo de tabela de fato e dimensão

Note que a tabela Linha contem os dados da linha de onibus, com kilometragem, origem, destino, empresa, etc. Note tambem que ela não contem dados que interessam como medida.

Já a tabela Demanda contem a quantidade de passageiros, escolares, vale transporte, etc. Estes dados são interessantes de fazer uma agregação.

Portanto, a tabela de demanda é a nossa tabela de fatos e a tabela de linhas a dimensão. Da tabela demanda tiraremos os números e da tabela de linhas tiraremos os dados descritivos.

Para criar um novo data source view, clique sobre esta opção nas propriedades do projeto eNew DataSource View . O primeiro passo na criação e definir quais data sources serão utilizados como origem dos dados.

Nota: Uma tabela de dimensão tambem pode conter tabelas interligadas para leitura de dados

complementares. Por exemplo, a tabela Linhas tem o código da empresa, portanto teriamos tambem que incluir a tabela Empresas na definição, mas ao invés de ligá-la a tabela de demanda o faríamos na tabela de linhas.

(25)

Seleção do data source para a criação da view 

Selecionado o data source o wizard nos mostra as tabelas que este contem, permitindo agora que escolhamos as tabelas. Devem ser selecionadas todas as tabelas, tanto de fato quanto as de dimensão.

Mas antes de escolhermos as tabelas o wizard irá querer saber se os relacionamentos poderão ser efetuados

automaticamente. Normalmente utilizamos o padrão, já que é uma prática comum ter as chaves entre tabelas com os mesmos nomes.

(26)
(27)

Seleção das tabelas para a construção da view 

(28)

Definição final da view 

Caso seja necessário incluir novas tabelas após o data view estar criado não há problemas. Basta ir no construtor em um espaço em branco dentro da tela de design e com o botão direito escolher Add/Remove Tables.

Para terminar a definição dois importantes passos ainda são necessários.

É importante que esteja definido o relacionamento entre as tabelas. Por exemplo, no caso acima apesar da coluna codLinha ser igual o contrutor não identificou o relacionamento. Para criar o relacionamento manualmente arraste a coluna chave da tabela de fato para dentro da tabela de dimensão e automaticamente o construtor irá gerar o link entre elas.

(29)

Interligação manual dos relacionamentos entre as tabelas

Feito isso agora só falta definir quais são as chaves da tabela de fato. Normalmente as tabelas já contem na sua estrutura a chave primária. Mas como em nosso exemplo não haviam chaves, a criação manual foi necessária. Para isso clique na coluna que deseja tornar chave e com o botão direito escolha a opçãoSet Logical Primary Key .

(30)

Definição da chave primática lógica na tabela

Esta opção cria uma chave lógica, ou virtual, já que no serviço OLAP não podemos alterar a estrutura física da tabela. Caso uma tabela não contenha chav primária lógica ou física no processamento do cubo ocorrerá um erro e não será possivel gerar os dados analíticos.

(31)

Definindo Cubos

A definição dos cubos é criada ao clicarmos no projeto emCubese com o botão direito a opçãoNew Cube.

O inicio da criação do cubo se dá por escolher se utilizará as fontes de dados anteriormente criadas ou se utilizaremos templates prontos.

Na opção de utilizar os data sources criados, a opçãoauto build permite que o próprio serviço crie os cubos com

dimensão e agregações, mas não é recomendado pois utilizará todas as colunas da tabela fato como agregação e todas da tabela de apoio como dimensões, gerando cubos grandes e com dados desnecessários.

Definição do tipo e construtor a ser utilizado no cubo

O passo seguinte é escolher dentre as apresentações de dados (data source view ) qual será utilizada como fonte para a geração do cubo.

(32)

Seleção da fonte de dados

Baseado na fonte de dados o assistente mostra uma lista com as t abelas que estão vinculadas e permite escolher uma como fato e as outras como dimensão.

(33)

Identificação da tabelas de fatos e dimensão

Após a identificação da tabela de fatos escolhemos as colunas que serão agregadas.

Não se agrega todas as colunas numericas, uma vez que nem todas possuem dados significativos.

Agregue as colunas que contenham dados que realmente irão servir para análisar uma tendencia ou outro desvio nos fatos pesquisados.

(34)

Definição das colunas que serão usadas como medidas (agregadas)

Definidos os dados agregados definimos quais eixos, ou subgrupos, que essas agregações serão efetuadas.

Assim como no caso das agregações não se deve escolher todas as colunas de todas as tabelas como dimensões pois quantas mais dimensões forem escolhidas mais dados precisam ser gerados.

(35)

Definição das colunas que serão usadas como dimensão (eixo)

(36)

Nome do cubo e resumo das configurações

No construtor podemos agora ver o cubo montado, a tabela amarela como a tabela de fato e as outras a sua volta. Note tambem que nas propriedades do projeto é possivel agora ver que as dimensões da tabela foram incluidas no menuDimensions.

(37)

Construtor do cubo gerado pelo assistente

Dimensões tambem podem ser criadas utilizando assistentes específicos para certos tipos de dados.

Para criar uma dimensão com o assistente utilize o botão Add Business Intelligencee defina o tipo de assistente e a coluna que será utilizada.

(38)

Criação de dimensões

É interresante a criação de dimensões com dados do tipo data pois permite a criação de divisões anuais, trimestrais, quadrimestrais, semanais e assim por diante.

Também é possivel renomear as agregações e as dimensões por clicar em um destes e com o botão direito abrir a janela

(39)

Processando e Visualizando Cubos

Para processar o cubo e ver os resultados podemos clicar no botãoProcess(o segundo na barra de ferramentas do

cubo).

Caso o projeto ainda não esteja salvo o Visual Studio 2005 irá gerar um aviso e salvará o projeto para o processo.

O projeto deve ser salvo antes de processado

Iniciado o processamento do cubo o primeiro dado informado é o tipo de processamento.

(40)

sofra apenas inserções, o modo incremental funcionaria perfeitamente, mas como normalmente as tabelas sofrem alterações em registros já existentes, o modo full se torna mais confiável.

(41)

do processamento.

Esta tela de processamento muitas vezes acusa erro de processo, principalmente quando existirem chaves orfãs, ou seja, chaves estrangeiras inválidas no banco de dados.

Nos casos em que ocorrerem erros, clique sobre a linha que aparecerá com um X vermelho e será indicado o código da chave que gerou o erro, permitindo que procure a solução.

Processamento sendo efetuado

Com o cubo já processado podemos visualizar seus dados para termos uma idéia de como o usuário verá as análises. Para isso clique na abaBrowsedo Visual Studio 2005 e verá do lado direito uma árvore com as medidas acima e as

(42)

Colocar os dados no cubo é muito simples, basta arrastar. Lembre-se de que as medidas sempre são colocadas no meio, na região de totais ou detalhes. Na região de colunas e linhas devem ser colocadas as dimensões.

No exemplo abaixo foi arrastado o código da empresa como coluna e o código do serviço como linha. Em detalhes foi arrastada a medida quantidade de passageiros.

O resultado é bem interessante, temos uma tabela com a quantidade transportada por cada empresa por tipo de serviço que foi executado, fornecendo uma boa visão da abrangência de cada empresa.

(43)

Cubo apenas com colunas, mas com hierarquia de dados

Por fim, neste ultimo exemplo foi arrastada a dimensão código da sub região (Cod SR) para a área de linha gerando mais uma divisão em como os dados estão sendo visualizados, agora mostrando um total de passageiros para cada reg ião atendida por uma empresa.

Notamos por exemplo, que a empresa 001 atua nos serviços EMC/EMM/EMS na região SP1 e uma baixa abrangência de atuação na região SP4/SP5 no serviço EMS. Esta análise pode ser vista sem ter que ler relatórios complexos e

(44)
(45)

Definições Adicionais nos Cubos

Trataremos agora de definições avançadas em cubos, permitindo a customização de dados, ações e m odo de armazenamento.

Medidas

Medidas são dados que já existem nos cubos e que podem sofrer cálculos ou processos.

Por exemplo, em uma tabela temos a quantidade e o preço unitário de cada item do pedido mas não temos o valor do imposto, apenas o percentual cobrado. Podemos neste caso criar uma coluna calculada que é o valor multiplicado pela aliquota de imposto.

Para inserir colunas calculadas clique na aba Calculationse será possivel criar três tipos de calculos: Calculared Member, Script e Named Set .

Iremos trabalhar com asCalculated Member que são os dados utilizados em visualizações, montados com expressões comuns, exemplo, [Preço] * [ICMS].

Os objetos do tipoScript permitem uma forma avançada de cálculos baseados em uma linguagem chamada MDX, similar

ao DDL mas própria para uso em OLAP. Como esta linguagem é complexa e pouco usada no dia a dia, não abrangeremos neste tópico.

Os objetos do tipoNamed Set permitem separar o cubo em pedaços menores, como se fossem grupos e reutilizá-los

similar a funções em uma linguagem de programação.

Caso tenha necessidade de utilizar algum destes recursos poderá utilizar a guiaTemplatesno canto inferior direito onde aparece a lista de objetos do cursor e arrastar as funções que já estão pré-programadas, evitando ter que escrever toda a fórmula MDX.

Nota: Ao criar novas dimensões em um cubo já processado é necessário reprocessar as dimensões. Para isso no Project Explorer abra o grupo Dimensions e com o botão direito escolha a opção Process para recalcular a dimensão alterada.

Nota: Ao clicar na aba Calculations consta um script com o comando CALCULAT E. Caso delete este script os processamentos do cubo podem ficar vazios.

(46)

No exemplo abaixo foi criada uma coluna calculada (Calculated Member)baseada na quantidade de passageiros que utilizaram vale transporte dividido pelo percentual total, gerando um dado de relatividade.

Definição de uma coluna calculada (Calculated Member)

Note que no cubo agora podemos ver esta coluna com um sinal de uma calculadora logo abaixo das medidas que já existiam no cubo.

(47)

Visualização do cubo agora com a coluna calculada

KPI (Indicadores Chaves de Perf ormance)

KPIs permitem que criemos em um cubo dados calculados para gerar gráficos.

Por exemplo, pode-se criar um KPI para indicar com um valor numérico o sexo do individuo e atribuir por um script este valor.

Como KPI envolvem scripts e MDX avançados não iremos abordá-los, mas vale a pena lembrar que como em medidas as KPI possuem templates como exemplo para um início menos obscuro com esta avançada opção de análise.

(48)

 Ações

As ações são definições de atos que podem ocorrer quando uma célula for clicada.

Por exemplo, é possivel fazer com que ao clicar em um produto no cubo o usuário seja r edirecionado para uma página no site da empresa que mostre a foto e os dados daquele produto.

As ações podem ser do tipoDrilldown(expande e retrai árvores),Report Server (para uso com o SQL Server Reporting Services) ou Action(customizado).

O mais comum de ser usado é o Actione utilizar como tipo URL para redirecionamento.

Os níveis de pesquisa podem ser células, atributos ou grupos. O mais útil são os atributos onde podemos definir o dado que servirá de pesquisa na URL.

Um exemplo interessante é ao clicarmos sobre uma cidade com o botão direito podermos consultar no google os dados daquela cidade, claro que o link ao invés do google poderia ser o da sua empresa.

Para isso montamos a expressão de pesquisa como"http://www.google.com/search?q=" + [LINHA].[Nom

(49)

 Ação de cubo baseada em URL com parametro

Com a ação criada podemos reprocessar o cubo, colocar a coluna escolhida no pivot table e clicar com o botão direito sobre o nome de alguma cidade, como pode ser visto na figura a seguir.

(50)

Browser com a ação criada na lista de opções

Com as ações podemos dar vida aos cubos integrando com outras aplicações, principalmente pela web.

Partições

(51)

Tamanho Performance

MOLAP HOLAP ROLAP

(52)

Tambem é possível configurar se utilizará neste cubo o cache ou não, devendo valer a regra de que apenas os cubos muito utilizados deverão estar em cache.

Por fim podemos particionar os cubos em diferentes servidores, utilizando a opçãoNew Partition, mas note que para

isso é necessário informar uma consulta. Esta consulta deve definir quais dados cda partição irá

conter.

(53)

Perspectivas

Estas permitem que criemos visões resumidas do cubo.

Uma boa aplicação é quando um cubo possui muitos dados e precisamos criar subconsultas facilitando os usuários em encontrarem apenas o que desejam.

Para isso clique no botãoNew Perspectivese defina os itens que irão constar nesta perspectiva.

Definição de uma nova perspectiva

(54)

Utilização da perspectivas com dados limitados

Translations (Traduções)

Se um cubo for utilizado por pessoas de diversos paises podemos criar um dicionário para cada cubo, medida e dimensão.

(55)
(56)
(57)

Segurança

A segurança em cubos é muito simples de ser configurada. Clique na árvoreRoles(papéis) do projeto e crie um novo papel.

Criação de um novo papel de segurança (role)

Note as diversas abas para configuração:

• General – Nível de acesso e comentários.

• Membership – Lista dos membros que podem ser usuários e grupos do Windows ou do SQL.

(58)

• Cubos – Quais os cubos que este papel pode acessar.

• Cell Data – Permissões para agregações (medidas) em cada cubo com permissão. • Dimensions – Quais as dimensões que podem ser utilizadas.

• Dimensions Data – Dentro de cada dimensão podemos definir quais os itens que podem ser acessados, criando

uma segurança a nivel granular.

(59)

Visualizando no Excel

O Microsoft Office Excel é o melhor visualizador para os cubos.

Para isso vá até o menu Dados -> Obter Dados Externos e na lista de provedores escolhaMicrosoft Analisys Services ou OLAP Services, variando conforme a versão do Excel instalado no cliente.

Defina o usuário e a senha utilizada para abrir o cubo, o nome do dabatase e o cubo desejado. Como ultimo passo defina em qual célula o Excel incluirá a pivot table.

Agora arraste as colunas e as linhas para as posições desejadas e trabalhe livremente com o Excel.

Referências

Documentos relacionados

50/53 Altamente tóxico à organismos aquáticos, pode causar efeitos adversos de longo-prazo ao ambiente aquático. Departamento Emissor MSDS:

Para alcançar os objetivos descritos acima, faz-se necessário uma visão geral de todos os constituintes do referido imposto. Portanto com base nos estudos de

Tanto o treinamento realizado pelo exercício contínuo quanto aquele realizado pelo exercício acumulado melhorou o condicionamento físico dos animais estudados, o

Epidemiology of coronary artery bypass grafting at the Hospital Beneficência Portuguesa, São Paulo Epidemiologia da cirurgia de revascularização miocárdica do Hospital

O Curso de Graduação em Terapia Ocupacional do Campus da Baixada Santista da Universidade Federal de São Paulo (UNIFESP) 20 foi criado em 2006, oferecendo 40 vagas por

Dunga utilizou seu esquema tático mais usual, que consiste na formação de um time composto por um goleiro, um lateral-direito, dois zagueiros, um lateral-esquerdo, dois

De acordo com Miller & Blair (1985), os multiplicadores são importantes indicativos dos impactos que ocorrem na economia e permitem verificar quais os setores afetam mais o

Atlas®.) a A utilização do produto licenciado da Tele Atlas com símbolo da marca por parte do utilizador final e de uma parte do produto, está limitada exclusivamente à utilização