You are on page 1of 59

Verso: 2.

www.marcelosincic.com.br

Pgina 1 de 59

Ol, 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.

Perfil Microsoft: https://www.mcpvirtualbusinesscard.com/VBCServer/msincic/profile Marcelo Sincic trabalha com informtica desde 1988. Durante anos trabalhou com desenvolvimento (iniciando com Dbase III e Clipper S'87) e com redes (Novell 2.0 e Lantastic). Hoje atua como consultor e instrutor para diversos parceiros e clientes Microsoft. Recebeu em abril de 2009 o prmio Latin American MCT Awards no MCT Summit 2009, um prmio entregue a apenas 5 instrutores de toda a Amrica Latina (http://www.marcelosincic.eti.br/Blog/post/Microsoft-MCT-Awards-AmericaLatina.aspx). Recebeu em setembro de 2009 o prmio IT HERO da equipe Microsoft Technet Brasil em reconhecimento a projeto desenvolvido (http://www.marcelosincic.eti.br/Blog/post/IT-Hero-Microsoft-TechNet.aspx). Em Novembro de 2009 recebeu novamente um premio do programa IT Hero agora na categoria de especialistas (http://www.marcelosincic.eti.br/Blog/post/TechNet-IT-Hero-Especialista-Selecionado-o-nosso-projeto-de-OCS2007.aspx). Acumula por 5 vezes certificaes com o ttulo Charter Member, indicando estar entre os primeiros do mundo a se certificarem profissionalmente em Windows 2008 e Windows 7.
Possui diversas certificaes oficiais de TI: 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 Windows Server 2008 Admin MCITP - Microsoft Certified IT Professional Enterprise Administrator Windows 7 Charter Member MCITP - Microsoft Certified IT Professional Enterprise Support Technical MCPD - Microsoft Certified Professional Developer: Web Applications 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 2008 Active Directory Charter Member MCTS - Microsoft Certified Technology Specialist: Windows 2008 Networking Charter Member MCTS - Microsoft Certified Technology Specialist: System Center Configuration Manager MCTS - Microsoft Certified Technology Specialist: System Center Operations Manager MCTS - Microsoft Certified Technology Specialist: Exchange 2007 MCTS - Microsoft Certified Technology Specialist: Windows Sharepoint Services 3.0 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: SQL Server 2005 MCTS - Microsoft Certified Technology Specialist: Windows Vista MCTS - Microsoft Certified Technology Specialist: .NET Famework 2.0 MCDBA Microsoft Certified Database Administrator (SQL Server 2000/OLAP/BI) MCAD Microsoft Certified Application Developer .NET MCSA 2000 Microsoft Certified System Administrator Windows 2000 MCSA 2003 Microsoft Certified System Administrator Windows 2003 Microsoft Small and Medium Business Specialist MCP Visual Basic e ASP MCT Microsoft Certified Trainer SUN Java Trainer Java Core Trainer Approved IBM Certified System Administrator Lotus Domino 6.0/6.5

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 2 de 59

Introduo a Data Warehouse e OLAP


Dados no formato relacional so muito ageis para as tarefas do dia a dia, mas muito lentos para consultas anliticas. 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 so as linhas. Mas para anlise de dados o ideal a visualizao invertida, ou seja, os atributos serem as linhas e os itens nas colunas, como o exemplo abaixo demostra: Cliente ABC ABC XYZ XYZ Produto Camisa Cala Camisa Cala Tabela no formato relacional (OLTP) Produto Camisa Cala ABC 20 10 Tabela no formato anlitico (OLAP) XYZ 30 20 Quantidade 20 10 30 20

Note que os dados so os mesmos, mas a forma de apresentao mudou e garantiu que uma anlise mais apurada fosse desenvolvida, como por exemplo, a soma das vendas por produto, onde anteriormente s era possivel ver as vendas totais. Esta realocao das linhas em colunas e das colunas em linhas recebe o nome de cross-join (referncia cruzada). Este modelo de planilhas chamado de Pivot Table . 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 transformao de dados armazenada em um objeto cubo. Os cubos contem os dados em formato cross-join e utilizando uma ferramenta pivot table como o Excel podemos montar tabelas em formato livre, como veremos mais adiante. Segue uma lista dos termos utilizados at o momento e que no podemos esquecer:

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 3 de 59

OLAP Online analisys process. Programa que permite transformar os dados relacionais (OLTP) em dados consolidados utilizando cross-join e gerando os cubos com os cruzamentos. A arquitetura OLAP otimizada para consolidao e leitura, no permitindo gravao ou alteraes. OLTP Online transaction process. So os servidores de banco de dados utilizados comercialmente desde Microsoft SQL Server, Oracle ou mesmo Access e Excel, j que todos estes tem os dados otimizados para operaes de leitura e gravao constante. Sua desvantagem a dificuldade em gerar dados consolidados em tempo hbil. Data Warehouse Repositrio de cubos gerados para anlise. Pivot Table Programa visualizador dos cubos, permitindo montar vises e tabelas dinamicamente arrastando os dados em colunas e linhas. Um bom programa para esta tarefa o Excel. Cross-Join Processo onde se faz a juno dos dados e transforma-se as colunas em linhas e as linhas em colunas gerando dados cruzados. Cubo Dados resultantes do processo de OLTP com o cross-join que so manipulados pelo pivot table.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 4 de 59

OLAP no Microsoft SQL Server 2005


No SQL Server 2005 possvel trabalhar todos os recursos de OLAP por utilizar suas ferramentas de transformao de dados para gerar staging tables, tabelas transitrias com dados de vrias fontes, ou ento diretamente nos cubos. Esses dois processo esto exemplificados abaixo:

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

Cubo

Modelo 1: Gerao dos dados OLAP utilizando tabelas unificadas

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

Cubo

Modelo 2: Gerao dos dados OLAP utilizando diretamente as tabelas fontes OLTP

No primeiro modelo vemos que os dados em diversas fontes geraram uma fonte de dados secundria, que servir para gerar os cubos anliticos.
www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 5 de 59

Este processo feito por uma ferramenta do SQL Server chamada de SSIS (SQL Server Intergration Service) que permite alterar os dados fontes em qualquer formato para um formato nico. Por exemplo, possivel com este recurso transformar dados em Excel relacionando com tabelas em Oracle ou outra fonte e gerar uma tabela nica.

Nota: No trataremos do SSID por se tratar de uma ferramenta de desenvolvimento complexa e no faz parte do OLAP Services e sim do SQL Server 2005.

O segundo modelo apresentado utiliza apenas o OLAP Services que tambm permite a integrao de dados heterognios para formar uma nica fonte de dados aos cubos analticos. O servio OLAP do SQL Server 2005 alm disso permite tambm a visualizao imediata dos cubos em pivot tables, agendamento das atualizaes dos cubos e segurana ao acesso dos dados. O servio OLAP tambem permitir trabalhar com diversos tipos de armazenamento dos cubos, conforme a tabela a seguir: Modelo HOLAP Armazenamento Hibrido. As agregaes (cubos) ficam no OLAP Services e os dados fonte continuam residindo no OLTP. Comentrios Modelo mais utilizado, ocupando relativamente pouco espao e utilizando a base OLTP apenas quando usurio pede detalhes. Ocupa muito espao, principalmente com grandes databases j que duplica a fonte dos dados. Sua vantagem a performance. O processamento se torna muito lento, principalmente quando so feitas muitas consultas ao cubo. Sua vantagem pouco espao ocupado.

MOLAP

Nativo. Tanto aos cubos quanto os dados fonte ficam gravados no OLAP.

ROLAP

Relacional. O OLAP mantem apenas as estruturas e definies, a cada consulta ao cubo ele tem que ser inteiramente processado.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 6 de 59

Instalao do OLAP Services


A instalao do servio de OLAP da Microsoft feita no prprio setup do SQL Server, j que apesar de ser um servio sepaado do SQL Server parte do produto. Para fazer a instalao do OLAP no mesmo momento em que se instala o SQL Server basta escolher na lista de componentes o Analisys Services. Se a instalao do OLAP for feita aps a instalao do SQL Server, utilize a opo Adicionar/Remover Programas do painel de controle do Windows e clique no boto Alterar do SQL Server. Em qualquer uma das situaes a tela abaixo mostra o componente (feature) do OLAP sendo incluida na instalao.

Tela de instalaao do SQL Server para incluso do servio OLAP Ao incluir o servio de OLAP gerado no SQL Server um database que tem por funo ser um Metadata Repository, ou repositrio de dados metafricos, onde as configuraes do servio ficam armazenadas.
www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 7 de 59

Com a instalao do servio de OLAP sero acrescentados no menu iniciar do grupo SQL Server um novo subgrupo Analisys Services e um atalho para o Business Inteligence Development Studio:

Alterao no menu Iniciar aps a instalao do OLAP O subgrupo Analisys Services contem apenas um wizard para distribuio das configuraes de um cubo para outro servidor. J o atalho para o BI Studio executa o Visual 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 apresentao ir constar o SQL Server como embutido nos projetos que podem ser criados.

Tela de apresentao do BI Studio com as linguages e os servios do SQL Ao clicar em novo projeto no Visual Studio poder criar diversos projetos especficos do SQL Server, entre eles os projetos de OLAP (Analisys services).

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 8 de 59

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 opes instaladas verifique no painel de servios das ferramentas administrativas do Windows se o servio OLAP est instalado e executado. Se o servio no estiver iniciado bastar inici-lo agora. Caso o servio acuse erros verifique no Event Viewer do Windows a mensagem que ele gerou para resolver o problema. Com o servio iniciado e rodando, bem como as ferramentas do BI Studio acusando o Analisys Services sinal de que toda a instalao ocorreu com sucesso.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 9 de 59

Servios do SQL Server incluindo o Analisys Services

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 10 de 59

Administrando o SSAS
A administrao 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 no cri-los (exceto Roles), tarefa que cabe ao SQL Server Business Intelligence Development Studio.

Abrindo o SSAS pelo console SQL Server Management Studio

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 11 de 59

Visualizao dos objetos do SSAS

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 12 de 59

Criando um Projeto OLAP


Para criar um projeto OLAP utilizada a interface visual do Microsoft Visual Studio 2005 como j comentados nos tpicos anteriores. A chamada feita no menu Iniciar na lista de programa dos SQL Server 2005 no atalho SQL Server Business Intelligence Development Studio e teremos a interface do Visual Studio 2005 em branco. Clique em File -> New -> Project e ter a tela a seguir, onde os projetos OLAP aparecem dentro dos modelos de Business Intelligence Projects.

Tela de inicializao de um novo projeto no Visual Studio 2005


www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 13 de 59

O passo seguinte escolher o projeto Analisys Services Project, colocar o nome e o caminho do projeto no disco, onde por padro so criados diretrio dentro de Meus Documentos.

Projeto com tipo, nome e localizao definida No canto direito da tela principal possivel agora ver os componentes de uma soluo OLAP, como a figura abaixo representa, que chamada de propriedades do projeto (Project Properties).

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 14 de 59

Janela Propriedades do Projeto Segue a definio de cada uma das pastas que compe um projeto OLAP: Pasta do Projeto Data Sources Descrio So os diferentes locais de onde os dados podero vir, tambem chamados de conexes. As consultas que baseadas nos Data Sources criados permitiram o uso, permite a integrao das vrias bases para formar um nico repositrio homognio. Definio das consultas. Atributos que sero utilizados para a formao dos pivot table. Estruturas que permitem analisar automaticamente desvios padro nos dados, como por exemplo, tendencia geogrfica entre outros. Segurana de acesso. DLLs que permitem customizao na forma de gerao dos cubos. Arquivos diversos.

Data Source Views

Cubes Dimensions Mining Structures

Roles Assemblies Miscellaneous

Para inserir os dados nos diferentes componentes do OLAP basta clicar e escolher a opo New. Um nico projeto pode conter diversos cubos, medidas e fontes. A recomendao em geral que cada projeto contenha um grupo de cubos e seus necessrios componentes, como por exemplo, um projeto para o departamento de vendas
www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 15 de 59

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 padro um projeto por grupo, seja departamental ou funcional, ser mais fcil os usurios 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 analticos dentro teramos uma dificuldade grande para o usurio escolher qual o que ele deseja, se a anlise financeira ou de demanda para o cliente, por exemplo.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 16 de 59

Definindo Fontes de Dados


O primeiro passo para podermos criar um projeto OLAP definirmos de onde os dados estaro sendo lidos. Esta configurao feita em Data Sources no projeto de OLAP. Clique com o boto direito sobre Data Source e escolha a opo New Data Source ao que ser mostrada a tela de definio para uma fonte de dados.

Tela inicial de criao de um novo data source Na tela seguinte mostrada uma lista com os data sources que j foram criados para seleo ou ento clique no boto New para criar uma nova fonte de dados, como a tela a seguir.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 17 de 59

Seleo de um data source j existente ou para crio de um novo Ao criar uma nova fonte de dados, clicando no boto New, 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.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 18 de 59

Tela de definio 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.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 19 de 59

Definio completa do novo data source O passo seguinte informarmos ao projeto qual o usurio que tem permisso para executar as agragaes, sendo as opes: Tipo Specified user and password Utilizao Para informar manualmente um nome de usurio e a senha. Apenas quando o modo de autenticao do servidor SQL Server for misto. Utiliza a conta do servio Analisys Services do Windows para acesso ao dados. Quando os dados esto em um servidor externo e a conta de servio for LocalSystem esta opo no funcionar. A conta do usurio que est logado no momento da execuo ser utilizada. No funciona no caso de agendamentos sem usurio
Reproduo e distribuio livre

Service Account

Current User

www.marcelosincic.com.br

Verso: 2.0

www.marcelosincic.com.br

Pgina 20 de 59

operando.

Informaes sobre o processo de autenticao 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, usurio a ser utilizado e o nome da fonte temos agora a fonte na lista dos Data Sources do projeto.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 21 de 59

Tela de confirmao dos dados e criao do data source

Projeto com o data source definido


www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 22 de 59

Definindo Apresentaes dos Dados


Uma vez definidas as fontes de dados agora precisamos definir as chamadas tabelas de fato. Tabelas de fato so aquelas que contem o dado a ser agregado, ou mensurado. Essa tabela contem dados nmericos que so agregados e atributos que podem ser transformados em eixos, ou dimenses. Por exemplo, na tabela abaixo podemos identificar a coluna quantidade como medida (measure) e as colunas cliente e produto serviro de eixos (dimensions). Cliente ABC ABC XYZ XYZ Produto Camisa Cala Camisa Cala Quantidade 20 10 30 20

Podemos identificar as medidas por verificar em uma tabela os dados que podem ser somados, neste caso a quantidade. E as dimenses so as colunas da tabela que podemos cruzar, no caso cliente e produto, podendo verificar as vendas de calas por cliente ou clientes que compraram camisas, sendo a quantidade sempre o dado resultante. Normalmente os data source views so formados na estrutura estrela (star schema), onde a tabela de fatos tem cdigos que se relacionam com as tabelas de dimenso. O modelo abaixo demonstra bem esta relao entre a tabela de fato e as tabelas de dimenso.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 23 de 59

Exemplo de tabela de fato e dimenso Note que a tabela Linha contem os dados da linha de onibus, com kilometragem, origem, destino, empresa, etc. Note tambem que ela no contem dados que interessam como medida. J a tabela Demanda contem a quantidade de passageiros, escolares, vale transporte, etc. Estes dados so interessantes de fazer uma agregao. Portanto, a tabela de demanda a nossa tabela de fatos e a tabela de linhas a dimenso. Da tabela demanda tiraremos os nmeros e da tabela de linhas tiraremos os dados descritivos.

Nota: Uma tabela de dimenso tambem pode conter tabelas interligadas para leitura de dados complementares. Por exemplo, a tabela Linhas tem o cdigo da empresa, portanto teriamos tambem que incluir a tabela Empresas na definio, mas ao invs de lig-la a tabela de demanda o faramos na tabela de linhas.

Para criar um novo data source view, clique sobre esta opo nas propriedades do projeto e New DataSource View. O primeiro passo na criao e definir quais data sources sero utilizados como origem dos dados.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 24 de 59

Seleo do data source para a criao 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 dimenso. Mas antes de escolhermos as tabelas o wizard ir querer saber se os relacionamentos podero ser efetuados automaticamente. Normalmente utilizamos o padro, j que uma prtica comum ter as chaves entre tabelas com os mesmos nomes.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 25 de 59

Seleo do mtodo de escolha dos relacionamentos automticos

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 26 de 59

Seleo das tabelas para a construo da view Escolhidas as tabelas informamos um nome para o data view.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 27 de 59

Definio final da view Caso seja necessrio incluir novas tabelas aps o data view estar criado no h problemas. Basta ir no construtor em um espao em branco dentro da tela de design e com o boto direito escolher Add/Remove Tables. Para terminar a definio dois importantes passos ainda so necessrios. importante que esteja definido o relacionamento entre as tabelas. Por exemplo, no caso acima apesar da coluna codLinha ser igual o contrutor no identificou o relacionamento. Para criar o relacionamento manualmente arraste a coluna chave da tabela de fato para dentro da tabela de dimenso e automaticamente o construtor ir gerar o link entre elas. Note que este link s pode ser efetuado se na tabela de dimenso houver uma chave primria, e que caso no haja o contrutor ir automaticamente criar a chave como na tela a seguir.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 28 de 59

Interligao manual dos relacionamentos entre as tabelas Feito isso agora s falta definir quais so as chaves da tabela de fato. Normalmente as tabelas j contem na sua estrutura a chave primria. Mas como em nosso exemplo no haviam chaves, a criao manual foi necessria. Para isso clique na coluna que deseja tornar chave e com o boto direito escolha a opo Set Logical Primary Key.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 29 de 59

Definio da chave primtica lgica na tabela Esta opo cria uma chave lgica, ou virtual, j que no servio OLAP no podemos alterar a estrutura fsica da tabela. Caso uma tabela no contenha chav primria lgica ou fsica no processamento do cubo ocorrer um erro e no ser possivel gerar os dados analticos.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 30 de 59

Definindo Cubos
A definio dos cubos criada ao clicarmos no projeto em Cubes e com o boto direito a opo New Cube. O inicio da criao do cubo se d por escolher se utilizar as fontes de dados anteriormente criadas ou se utilizaremos templates prontos. Na opo de utilizar os data sources criados, a opo auto build permite que o prprio servio crie os cubos com dimenso e agregaes, mas no recomendado pois utilizar todas as colunas da tabela fato como agregao e todas da tabela de apoio como dimenses, gerando cubos grandes e com dados desnecessrios.

Definio do tipo e construtor a ser utilizado no cubo O passo seguinte escolher dentre as apresentaes de dados (data source view) qual ser utilizada como fonte para a gerao do cubo.
www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 31 de 59

Seleo da fonte de dados Baseado na fonte de dados o assistente mostra uma lista com as tabelas que esto vinculadas e permite escolher uma como fato e as outras como dimenso. Lembre-se de que a tabela de fato agrega dados e as de dimenso serverm para formar os critrios de pesquisa.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 32 de 59

Identificao da tabelas de fatos e dimenso Aps a identificao da tabela de fatos escolhemos as colunas que sero agregadas. No se agrega todas as colunas numericas, uma vez que nem todas possuem dados significativos. Agregue as colunas que contenham dados que realmente iro servir para anlisar uma tendencia ou outro desvio nos fatos pesquisados.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 33 de 59

Definio das colunas que sero usadas como medidas (agregadas) Definidos os dados agregados definimos quais eixos, ou subgrupos, que essas agregaes sero efetuadas. Assim como no caso das agregaes no se deve escolher todas as colunas de todas as tabelas como dimenses pois quantas mais dimenses forem escolhidas mais dados precisam ser gerados.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 34 de 59

Definio das colunas que sero usadas como dimenso (eixo) O cubo est completo, digite o nome do objeto e confirme as agregaes (measures) e as dimenses (dimensions).

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 35 de 59

Nome do cubo e resumo das configuraes 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 dimenses da tabela foram incluidas no menu Dimensions.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 36 de 59

Construtor do cubo gerado pelo assistente Dimenses tambem podem ser criadas utilizando assistentes especficos para certos tipos de dados. Para criar uma dimenso com o assistente utilize o boto Add Business Intelligence e defina o tipo de assistente e a coluna que ser utilizada.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 37 de 59

Criao de dimenses interresante a criao de dimenses com dados do tipo data pois permite a criao de divises anuais, trimestrais, quadrimestrais, semanais e assim por diante. Tambm possivel renomear as agregaes e as dimenses por clicar em um destes e com o boto direito abrir a janela Properties (propriedades), onde alem de definir o nome que o item er ao ser apresentado tambem podemos definir o tipo de dado e outros atributos.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 38 de 59

Processando e Visualizando Cubos


Para processar o cubo e ver os resultados podemos clicar no boto Process (o segundo na barra de ferramentas do cubo). Caso o projeto ainda no 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. Os processamentos podem ser Full (completo) ou Incremental (apenas alteraes). Normalmente utilizamos o modo full, uma vez que o modo completo no poe ser usado com exatido em tabelas que sofrem alteraes. Caso a tabela de fato
www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 39 de 59

sofra apenas inseres, o modo incremental funcionaria perfeitamente, mas como normalmente as tabelas sofrem alteraes em registros j existentes, o modo full se torna mais confivel.

Acesso as configuraes de processamento


www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 40 de 59

Escolhendo o modo de processamento podemos executar o cubo (Run) e teremos uma tela de aviso com o andamento do processamento. Esta tela de processamento muitas vezes acusa erro de processo, principalmente quando existirem chaves orfs, ou seja, chaves estrangeiras invlidas no banco de dados. Nos casos em que ocorrerem erros, clique sobre a linha que aparecer com um X vermelho e ser indicado o cdigo da chave que gerou o erro, permitindo que procure a soluo.

Processamento sendo efetuado Com o cubo j processado podemos visualizar seus dados para termos uma idia de como o usurio ver as anlises. Para isso clique na aba Browse do Visual Studio 2005 e ver do lado direito uma rvore com as medidas acima e as dimenses separadas por tabela de dimenso embaixo.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 41 de 59

Colocar os dados no cubo muito simples, basta arrastar. Lembre-se de que as medidas sempre so colocadas no meio, na regio de totais ou detalhes. Na regio de colunas e linhas devem ser colocadas as dimenses. No exemplo abaixo foi arrastado o cdigo da empresa como coluna e o cdigo do servio 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 servio que foi executado, fornecendo uma boa viso da abrangncia de cada empresa.

Browse do cubo com eixos e colunas e medidas Neste segundo exemplo o cdigo do servio foi arrastado para debaixo do cdigo da empresa, gerando os mesmos dados, mas agora com um formato horizontal e hirarquico. Note que o visualizador (pivot table) gera sinais (+ e -) para que possamos abrir os detalhes da empresa, ou seja, clicando nestes sinais podemos ver apenas a empresa ou a empresa separada por tipo de servio executado.
www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 42 de 59

Cubo apenas com colunas, mas com hierarquia de dados Por fim, neste ultimo exemplo foi arrastada a dimenso cdigo da sub regio (Cod SR) para a rea de linha gerando mais uma diviso em como os dados esto sendo visualizados, agora mostrando um total de passageiros para cada regio atendida por uma empresa. Notamos por exemplo, que a empresa 001 atua nos servios EMC/EMM/EMS na regio SP1 e uma baixa abrangncia de atuao na regio SP4/SP5 no servio EMS. Esta anlise pode ser vista sem ter que ler relatrios complexos e gigantescos, ou ento precisar de funcionrios analisando estes dados continuamente.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 43 de 59

Cubo completo com hierarquia, colunas, linhas e medidas

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 44 de 59

Definies Adicionais nos Cubos


Trataremos agora de definies avanadas em cubos, permitindo a customizao de dados, aes e modo de armazenamento.

Medidas
Medidas so dados que j existem nos cubos e que podem sofrer clculos ou processos. Por exemplo, em uma tabela temos a quantidade e o preo unitrio de cada item do pedido mas no 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 Calculations e ser possivel criar trs tipos de calculos: Calculared Member, Script e Named Set.

Nota: Ao criar novas dimenses em um cubo j processado necessrio reprocessar as dimenses. Para isso no Project Explorer abra o grupo Dimensions e com o boto direito escolha a opo Process para recalcular a dimenso alterada.

Iremos trabalhar com as Calculated Member que so os dados utilizados em visualizaes, montados com expresses comuns, exemplo, [Preo] * [ICMS]. Os objetos do tipo Script permitem uma forma avanada de clculos baseados em uma linguagem chamada MDX, similar ao DDL mas prpria para uso em OLAP. Como esta linguagem complexa e pouco usada no dia a dia, no abrangeremos neste tpico. Os objetos do tipo Named Set permitem separar o cubo em pedaos menores, como se fossem grupos e reutiliz-los

Nota: Ao clicar na aba Calculations consta um script com o comando CALCULATE. Caso delete este script os processamentos do cubo podem ficar vazios.
similar a funes em uma linguagem de programao. Caso tenha necessidade de utilizar algum destes recursos poder utilizar a guia Templates no canto inferior direito onde aparece a lista de objetos do cursor e arrastar as funes que j esto pr-programadas, evitando ter que escrever toda a frmula MDX.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 45 de 59

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.

Definio 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.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 46 de 59

Visualizao do cubo agora com a coluna calculada

KPI (Indicadores Chaves de Performance)


KPIs permitem que criemos em um cubo dados calculados para gerar grficos. Por exemplo, pode-se criar um KPI para indicar com um valor numrico o sexo do individuo e atribuir por um script este valor. Como KPI envolvem scripts e MDX avanados no iremos abord-los, mas vale a pena lembrar que como em medidas as KPI possuem templates como exemplo para um incio menos obscuro com esta avanada opo de anlise.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 47 de 59

Aes
As aes so definies de atos que podem ocorrer quando uma clula for clicada. Por exemplo, possivel fazer com que ao clicar em um produto no cubo o usurio seja redirecionado para uma pgina no site da empresa que mostre a foto e os dados daquele produto. As aes podem ser do tipo Drilldown (expande e retrai rvores), Report Server (para uso com o SQL Server Reporting Services) ou Action (customizado). O mais comum de ser usado o Action e utilizar como tipo URL para redirecionamento. Os nveis de pesquisa podem ser clulas, atributos ou grupos. O mais til so os atributos onde podemos definir o dado que servir de pesquisa na URL. Um exemplo interessante ao clicarmos sobre uma cidade com o boto direito podermos consultar no google os dados daquela cidade, claro que o link ao invs do google poderia ser o da sua empresa. Para isso montamos a expresso de pesquisa como "http://www.google.com/search?q=" + [LINHA].[Nom Origem].CurrentMember.Name, onde a string final formada ser a URL do google mais o nome da cidade corrente onde foi clicado.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 48 de 59

Ao de cubo baseada em URL com parametro Com a ao criada podemos reprocessar o cubo, colocar a coluna escolhida no pivot table e clicar com o boto direito sobre o nome de alguma cidade, como pode ser visto na figura a seguir.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 49 de 59

Browser com a ao criada na lista de opes Com as aes podemos dar vida aos cubos integrando com outras aplicaes, principalmente pela web.

Parties
Parties so as definies de armazenamento dos dados gerados. Como vimos no inicio, as parties podem ser MOLAP (total), HOLAP (parcial) ou ROLAP (leitura online), sendo o MOLAP o que ocupa mais espao e com melhor performance e o ROLAP o que ocupa menos espao e com menor performance, como o grfico a seguir.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 50 de 59

MOLAP HOLAP ROLAP

Tamanho

Performance

Ao clicar em Storage Options podemos configurar o tipo de armazanamento que ser utilizado.

Definio do tipo de armazenamento a ser utilizado


www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 51 de 59

Tambem possvel configurar se utilizar neste cubo o cache ou no, devendo valer a regra de que apenas os cubos muito utilizados devero estar em cache. Por fim podemos particionar os cubos em diferentes servidores, utilizando a opo New Partition, mas note que para isso necessrio informar uma consulta. Esta consulta deve definir quais dados cda partio ir

conter. Definio do particionamento Por exemplo, uma partio pode ter o filtro Estado=SP e a outra partio Estado<>SP, cada partio em um servidor e balanceando a carga entre eles. O problema do particionamento a questo da performance de rede, uma vez que ser necessrio acessar dois servidores ao mesmo tempo.

Perspectivas
Se um cubo
www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 52 de 59

Perspectivas
Estas permitem que criemos vises resumidas do cubo. Uma boa aplicao quando um cubo possui muitos dados e precisamos criar subconsultas facilitando os usurios em encontrarem apenas o que desejam. Para isso clique no boto New Perspectives e defina os itens que iro constar nesta perspectiva.

Definio de uma nova perspectiva Para utilizar a nova perspectiva utilize a opo correspondente na pivot table.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 53 de 59

Utilizao da perspectivas com dados limitados

Translations (Tradues)
Se um cubo for utilizado por pessoas de diversos paises podemos criar um dicionrio para cada cubo, medida e dimenso. Esta opo extramente util apenas quando temos a configurao multinacional em um cubo. Para criar um novo idioma clique no boto New Translation e indique o idioma e o pas. Depois basta colocar o nome nos itens desejados.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 54 de 59

Criao de um novo idioma

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 55 de 59

Cubo utilizando um diferente idioma

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 56 de 59

Segurana
A segurana em cubos muito simples de ser configurada. Clique na rvore Roles (papis) do projeto e crie um novo papel.

Criao de um novo papel de segurana (role) Note as diversas abas para configurao: General Nvel de acesso e comentrios. Membership Lista dos membros que podem ser usurios e grupos do Windows ou do SQL. DataSources Quais fontes de dados podem ser utilizadas.
Reproduo e distribuio livre

www.marcelosincic.com.br

Verso: 2.0

www.marcelosincic.com.br

Pgina 57 de 59

Cubos Quais os cubos que este papel pode acessar. Cell Data Permisses para agregaes (medidas) em cada cubo com permisso. Dimensions Quais as dimenses que podem ser utilizadas. Dimensions Data Dentro de cada dimenso podemos definir quais os itens que podem ser acessados, criando uma segurana a nivel granular. Mining Structures Quais os modelos estatisticos que podem ser usados.

www.marcelosincic.com.br

Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 58 de 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 escolha Microsoft Analisys Services ou OLAP Services, variando conforme a verso do Excel instalado no cliente. Defina o usurio e a senha utilizada para abrir o cubo, o nome do dabatase e o cubo desejado. Como ultimo passo defina em qual clula o Excel incluir a pivot table. Agora arraste as colunas e as linhas para as posies desejadas e trabalhe livremente com o Excel.

Manipulao dos dados utilizando o Excel 2007 TR


www.marcelosincic.com.br Reproduo e distribuio livre

Verso: 2.0

www.marcelosincic.com.br

Pgina 59 de 59

Planilha do Excel 2007 TR com o cubo incluido

www.marcelosincic.com.br

Reproduo e distribuio livre