SlideShare a Scribd company logo
1 of 59
Download to read offline
Versão: 2.0 www.marcelosincic.com.br Página 1 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 informática 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 prêmio Latin American MCT Awards no MCT Summit 2009, um prêmio entregue a apenas
5 instrutores de toda a América Latina (http://www.marcelosincic.eti.br/Blog/post/Microsoft-MCT-Awards-America-
Latina.aspx).
Recebeu em setembro de 2009 o prêmio 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-OCS-
2007.aspx).
Acumula por 5 vezes certificações com o título Charter Member, indicando estar entre os primeiros do mundo a se
certificarem profissionalmente em Windows 2008 e Windows 7.
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 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
Versão: 2.0 www.marcelosincic.com.br Página 2 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Introdução a Data Warehouse e OLAP
Dados no formato relacional são muito ageis para as tarefas 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
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ção
invertida, ou seja, os atributos serem as linhas e os itens nas colunas, como o exemplo abaixo demostra:
Cliente Produto Quantidade
ABC Camisa 20
ABC Calça 10
XYZ Camisa 30
XYZ Calça 20
Tabela no formato relacional (OLTP)
Produto ABC XYZ
Camisa 20 30
Calça 10 20
Tabela no formato análitico (OLAP)
Note que os dados são os mesmos, mas a forma 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
totais.
Esta realocação das linhas em colunas e das colunas em linhas recebe o nome de cross-join (referência 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 transformação 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 não podemos esquecer:
Versão: 2.0 www.marcelosincic.com.br Página 3 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
• 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
consolidação e leitura, não permitindo gravação ou alterações.
• OLTP – Online transaction process. São 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
operações de leitura e gravação constante. Sua desvantagem é a dificuldade em gerar dados consolidados em
tempo hábil.
• Data Warehouse – Repositório de cubos gerados para análise.
• Pivot Table – Programa visualizador dos cubos, permitindo montar visões 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 junção 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 são manipulados pelo pivot table.
Versão: 2.0 www.marcelosincic.com.br Página 4 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
OLAP no Microsoft SQL Server 2005
No SQL Server 2005 é possível trabalhar todos os recursos de OLAP por utilizar suas ferramentas de transformação de
dados para gerar staging tables, tabelas transitórias com dados de várias fontes, ou então diretamente nos cubos.
Esses dois processo estão exemplificados abaixo:
Modelo 1: Geração dos dados OLAP utilizando tabelas unificadas
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
gerar os cubos análiticos.
Data warehouse (OLAP Service)
Oracle
ou SQL
Excel
ou
Access
Staging
tables Data Marts
Cubo
Cubo
Data warehouse (OLAP Service)
Oracle
ou SQL
Excel
ou
Access
Data Marts
Cubo
Cubo
Versão: 2.0 www.marcelosincic.com.br Página 5 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
O segundo modelo apresentado utiliza apenas o OLAP Services que também permite a integração de dados
heterogênios para formar uma única fonte de dados aos cubos analíticos.
O serviço OLAP do SQL Server 2005 alêm disso permite também a visualização imediata dos cubos em pivot tables,
agendamento das atualizações dos cubos e segurança ao acesso dos dados.
O serviço OLAP tambem permitirá trabalhar com diversos tipos de armazenamento dos cubos, conforme a tabela a
seguir:
Modelo Armazenamento Comentários
HOLAP Hibrido. As agregações (cubos) ficam no OLAP
Services e os dados fonte continuam residindo no
OLTP.
Modelo mais utilizado,
ocupando relativamente
pouco espaço e utilizando a
base OLTP apenas quando
usuário pede detalhes.
MOLAP Nativo. Tanto aos cubos quanto os dados fonte
ficam gravados no OLAP.
Ocupa muito espaço,
principalmente com grandes
databases já que duplica a
fonte dos dados. Sua
vantagem é a performance.
ROLAP Relacional. O OLAP mantem apenas as estruturas e
definições, a cada consulta ao cubo ele tem que ser
inteiramente processado.
O processamento se torna
muito lento, principalmente
quando são feitas muitas
consultas ao cubo. Sua
vantagem é pouco espaço
ocupado.
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 Server 2005.
Versão: 2.0 www.marcelosincic.com.br Página 6 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 um Metadata Repository, ou
repositório de dados metafóricos, onde as configurações do serviço ficam armazenadas.
Versão: 2.0 www.marcelosincic.com.br Página 7 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 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 apresentação irá constar o SQL Server como embutido nos projetos que
podem ser criados.
Tela de apresentação do BI Studio com as linguages e os serviços do SQL
Ao clicar em novo projeto no Visual Studio poderá criar diversos projetos específicos do SQL Server, entre eles os
projetos de OLAP (Analisys services).
Versão: 2.0 www.marcelosincic.com.br Página 8 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 no Event 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.
Versão: 2.0 www.marcelosincic.com.br Página 9 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Serviços do SQL Server incluindo o Analisys Services
Versão: 2.0 www.marcelosincic.com.br Página 10 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 (exceto Roles), tarefa que
cabe ao SQL Server Business Intelligence Development Studio.
Abrindo o SSAS pelo console SQL Server Management Studio
Versão: 2.0 www.marcelosincic.com.br Página 11 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Visualização dos objetos do SSAS
Versão: 2.0 www.marcelosincic.com.br Página 12 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 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 inicialização de um novo projeto no Visual Studio 2005
Versão: 2.0 www.marcelosincic.com.br Página 13 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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).
Versão: 2.0 www.marcelosincic.com.br Página 14 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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ção New.
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
Versão: 2.0 www.marcelosincic.com.br Página 15 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 16 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 em Data Sources no projeto de OLAP.
Clique com o botão direito sobre Data Source e escolha a opção New Data Source ao 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
New para criar uma nova fonte de dados, como a tela a seguir.
Versão: 2.0 www.marcelosincic.com.br Página 17 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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ão 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.
Versão: 2.0 www.marcelosincic.com.br Página 18 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 19 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Definição completa do novo data source
O passo seguinte é informarmos ao projeto qual o usuário que tem permissão para executar as agragaçõ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.
Service Account Utiliza a conta do serviço Analisys Services do
Windows para acesso ao dados. Quando os
dados estão em um servidor externo e a conta
de serviço for LocalSystem esta opção não
funcionará.
Current User A conta do usuário que está logado no
momento da execução será utilizada. Não
funciona no caso de agendamentos sem usuário
Versão: 2.0 www.marcelosincic.com.br Página 20 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
operando.
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.
Versão: 2.0 www.marcelosincic.com.br Página 21 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Tela de confirmação dos dados e criação do data source
Projeto com o data source definido
Versão: 2.0 www.marcelosincic.com.br Página 22 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 os data source views sã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.
Versão: 2.0 www.marcelosincic.com.br Página 23 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 e New 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.
Versão: 2.0 www.marcelosincic.com.br Página 24 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 25 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Seleção do método de escolha dos relacionamentos automáticos
Versão: 2.0 www.marcelosincic.com.br Página 26 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Seleção das tabelas para a construção da view
Escolhidas as tabelas informamos um nome para o data view.
Versão: 2.0 www.marcelosincic.com.br Página 27 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Note que este link só pode ser efetuado se na tabela de dimensão houver uma chave primária, e que caso não haja o
contrutor irá automaticamente criar a chave como na tela a seguir.
Versão: 2.0 www.marcelosincic.com.br Página 28 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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ção Set Logical Primary Key.
Versão: 2.0 www.marcelosincic.com.br Página 29 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 30 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Definindo Cubos
A definição dos cubos é criada ao clicarmos no projeto em Cubes e com o botão direito a opção New 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ção auto 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.
Versão: 2.0 www.marcelosincic.com.br Página 31 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Seleção da fonte de dados
Baseado na fonte de dados o assistente mostra uma lista com as tabelas que estão vinculadas e permite escolher uma
como fato e as outras como dimensão.
Lembre-se de que a tabela de fato agrega dados e as de dimensão serverm para formar os critérios de pesquisa.
Versão: 2.0 www.marcelosincic.com.br Página 32 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 33 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 34 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Definição das colunas que serão usadas como dimensão (eixo)
O cubo está completo, digite o nome do objeto e confirme as agregações (measures) e as dimensões (dimensions).
Versão: 2.0 www.marcelosincic.com.br Página 35 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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
menu Dimensions.
Versão: 2.0 www.marcelosincic.com.br Página 36 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 Intelligence e defina o tipo de assistente e a
coluna que será utilizada.
Versão: 2.0 www.marcelosincic.com.br Página 37 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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
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.
Versão: 2.0 www.marcelosincic.com.br Página 38 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Processando e Visualizando Cubos
Para processar o cubo e ver os resultados podemos clicar no botão Process (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.
Os processamentos podem ser Full (completo) ou Incremental (apenas alterações). Normalmente utilizamos o modo full,
uma vez que o modo completo não poe ser usado com exatidão em tabelas que sofrem alterações. Caso a tabela de fato
Versão: 2.0 www.marcelosincic.com.br Página 39 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Acesso as configurações de processamento
Versão: 2.0 www.marcelosincic.com.br Página 40 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 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 aba Browse do Visual Studio 2005 e verá do lado direito uma árvore com as medidas acima e as
dimensões separadas por tabela de dimensão embaixo.
Versão: 2.0 www.marcelosincic.com.br Página 41 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Browse do cubo com eixos e colunas e medidas
Neste segundo exemplo o código do serviço foi arrastado para debaixo do código 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 serviço executado.
Versão: 2.0 www.marcelosincic.com.br Página 42 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 regiã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
gigantescos, ou então precisar de funcionários analisando estes dados continuamente.
Versão: 2.0 www.marcelosincic.com.br Página 43 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Cubo completo com hierarquia, colunas, linhas e medidas
Versão: 2.0 www.marcelosincic.com.br Página 44 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Definições Adicionais nos Cubos
Trataremos agora de definições avançadas em cubos, permitindo a customização de dados, ações e modo 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 Calculations e será possivel criar três tipos de calculos: Calculared Member,
Script e Named Set.
Iremos trabalhar com as Calculated Member que são os dados utilizados em visualizações, montados com expressões
comuns, exemplo, [Preço] * [ICMS].
Os objetos do tipo Script 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 tipo Named 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 guia Templates no 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 CALCULATE. Caso delete este
script os processamentos do cubo podem ficar vazios.
Versão: 2.0 www.marcelosincic.com.br Página 45 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 46 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Visualização do cubo agora com a coluna calculada
KPI (Indicadores Chaves de Performance)
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.
Versão: 2.0 www.marcelosincic.com.br Página 47 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 redirecionado para uma página
no site da empresa que mostre a foto e os dados daquele produto.
As ações 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 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
Origem].CurrentMember.Name, onde a string final formada será a URL do google mais o nome da cidade corrente onde foi clicado.
Versão: 2.0 www.marcelosincic.com.br Página 48 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Versão: 2.0 www.marcelosincic.com.br Página 49 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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
Partições são as definições de armazenamento dos dados gerados.
Como vimos no inicio, as partições podem ser MOLAP (total), HOLAP (parcial) ou ROLAP (leitura online), sendo o MOLAP
o que ocupa mais espaço e com melhor performance e o ROLAP o que ocupa menos espaço e com menor performance,
como o gráfico a seguir.
Versão: 2.0 www.marcelosincic.com.br Página 50 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Tamanho Performance
MOLAP
HOLAP
ROLAP
Ao clicar em Storage Options podemos configurar o tipo de armazanamento que será utilizado.
Definição do tipo de armazenamento a ser utilizado
Versão: 2.0 www.marcelosincic.com.br Página 51 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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ção New Partition, mas note que para
isso é necessário informar uma consulta. Esta consulta deve definir quais dados cda partição irá
conter.
Definição do particionamento
Por exemplo, uma partição pode ter o filtro Estado=’SP’ e a outra partição Estado<>’SP’, cada partição em um servidor e
balanceando a carga entre eles.
O problema do particionamento é a questão da performance de rede, uma vez que será necessário acessar dois
servidores ao mesmo tempo.
Perspectivas
Se um cubo
Versão: 2.0 www.marcelosincic.com.br Página 52 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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ão New Perspectives e defina os itens que irão constar nesta perspectiva.
Definição de uma nova perspectiva
Para utilizar a nova perspectiva utilize a opção correspondente na pivot table.
Versão: 2.0 www.marcelosincic.com.br Página 53 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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.
Esta opção é extramente util apenas quando temos a configuração multinacional em um cubo.
Para criar um novo idioma clique no botão New Translation e indique o idioma e o país. Depois basta colocar o nome
nos itens desejados.
Versão: 2.0 www.marcelosincic.com.br Página 54 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Criação de um novo idioma
Versão: 2.0 www.marcelosincic.com.br Página 55 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Cubo utilizando um diferente idioma
Versão: 2.0 www.marcelosincic.com.br Página 56 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Segurança
A segurança em cubos é muito simples de ser configurada.
Clique na árvore Roles (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.
• DataSources – Quais fontes de dados podem ser utilizadas.
Versão: 2.0 www.marcelosincic.com.br Página 57 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
• 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.
• Mining Structures – Quais os modelos estatisticos que podem ser usados.
Versão: 2.0 www.marcelosincic.com.br Página 58 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
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 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.
Manipulação dos dados utilizando o Excel 2007 TR
Versão: 2.0 www.marcelosincic.com.br Página 59 de 59
www.marcelosincic.com.br Reprodução e distribuição livre
Planilha do Excel 2007 TR com o cubo incluido

More Related Content

What's hot

Manual do Access-Denise Guimarães
Manual do Access-Denise GuimarãesManual do Access-Denise Guimarães
Manual do Access-Denise GuimarãesCassandra Cristina
 
Apostila linux basico_ncd_v1
Apostila linux basico_ncd_v1Apostila linux basico_ncd_v1
Apostila linux basico_ncd_v1Sabrina Leva
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicosCaio Lima
 
Apostila access 2010_basico
Apostila access 2010_basicoApostila access 2010_basico
Apostila access 2010_basicoalbsimone
 
programacao-c-banco-de-dados
programacao-c-banco-de-dadosprogramacao-c-banco-de-dados
programacao-c-banco-de-dadosRaul Dias
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18tomascarol2
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sqlrobinhoct
 
Aula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDIAula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDIJarley Nóbrega
 
Mini curso banco de dados comercial publicar
Mini curso   banco de dados comercial publicarMini curso   banco de dados comercial publicar
Mini curso banco de dados comercial publicarHilson Silva
 
Apostila de sql server 2008
Apostila de sql server 2008Apostila de sql server 2008
Apostila de sql server 2008marcos0512
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)guestcc491
 

What's hot (16)

Manual do Access-Denise Guimarães
Manual do Access-Denise GuimarãesManual do Access-Denise Guimarães
Manual do Access-Denise Guimarães
 
Manual SQL
Manual SQLManual SQL
Manual SQL
 
Apostila linux basico_ncd_v1
Apostila linux basico_ncd_v1Apostila linux basico_ncd_v1
Apostila linux basico_ncd_v1
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicos
 
Manual SQL
Manual SQLManual SQL
Manual SQL
 
Access 2010
Access 2010Access 2010
Access 2010
 
Apostila access 2010_basico
Apostila access 2010_basicoApostila access 2010_basico
Apostila access 2010_basico
 
programacao-c-banco-de-dados
programacao-c-banco-de-dadosprogramacao-c-banco-de-dados
programacao-c-banco-de-dados
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
 
Aula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDIAula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDI
 
Mini curso banco de dados comercial publicar
Mini curso   banco de dados comercial publicarMini curso   banco de dados comercial publicar
Mini curso banco de dados comercial publicar
 
Apostila de sql server 2008
Apostila de sql server 2008Apostila de sql server 2008
Apostila de sql server 2008
 
Apostila ib
Apostila ibApostila ib
Apostila ib
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
 
Apostila access 2010
Apostila access 2010Apostila access 2010
Apostila access 2010
 

Viewers also liked

Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Caio Moreno
 
Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)
Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)
Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)IT4biz IT Solutions
 
Recomendações de Literatura BI Open Source
Recomendações de Literatura BI Open SourceRecomendações de Literatura BI Open Source
Recomendações de Literatura BI Open SourceCaio Moreno
 
Agência 3B Comunicação - Apresentação
Agência 3B Comunicação - ApresentaçãoAgência 3B Comunicação - Apresentação
Agência 3B Comunicação - ApresentaçãoAgência 3B
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 
Data warehouse 01 introdução
Data warehouse   01 introduçãoData warehouse   01 introdução
Data warehouse 01 introduçãoRafael Pinheiro
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaFernando Palma
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterFernando Palma
 
14.03.23 livro sobre pentaho
14.03.23   livro sobre pentaho14.03.23   livro sobre pentaho
14.03.23 livro sobre pentahoTalita Lima
 
Business Intelligence in E-Commerce
Business Intelligence in E-CommerceBusiness Intelligence in E-Commerce
Business Intelligence in E-CommerceCygnet Infotech
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )Marco Garcia
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Tutorial BizAgi - Modelagem de Processos com BPMN e BizAgi
Tutorial BizAgi - Modelagem de Processos com BPMN e BizAgiTutorial BizAgi - Modelagem de Processos com BPMN e BizAgi
Tutorial BizAgi - Modelagem de Processos com BPMN e BizAgiRildo (@rildosan) Santos
 

Viewers also liked (20)

Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
 
Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)
Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)
Curso de Pentaho (BI Open Source) - Recomendações de Leitura (Livros sobre BI)
 
Recomendações de Literatura BI Open Source
Recomendações de Literatura BI Open SourceRecomendações de Literatura BI Open Source
Recomendações de Literatura BI Open Source
 
Agência 3B Comunicação - Apresentação
Agência 3B Comunicação - ApresentaçãoAgência 3B Comunicação - Apresentação
Agência 3B Comunicação - Apresentação
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
Introdução ao scrum
Introdução ao scrumIntrodução ao scrum
Introdução ao scrum
 
Dawarehouse e OLAP
Dawarehouse e OLAPDawarehouse e OLAP
Dawarehouse e OLAP
 
Oo delphi
Oo delphiOo delphi
Oo delphi
 
Data warehouse 01 introdução
Data warehouse   01 introduçãoData warehouse   01 introdução
Data warehouse 01 introdução
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System Center
 
14.03.23 livro sobre pentaho
14.03.23   livro sobre pentaho14.03.23   livro sobre pentaho
14.03.23 livro sobre pentaho
 
Business Intelligence in E-Commerce
Business Intelligence in E-CommerceBusiness Intelligence in E-Commerce
Business Intelligence in E-Commerce
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Tutorial BizAgi - Modelagem de Processos com BPMN e BizAgi
Tutorial BizAgi - Modelagem de Processos com BPMN e BizAgiTutorial BizAgi - Modelagem de Processos com BPMN e BizAgi
Tutorial BizAgi - Modelagem de Processos com BPMN e BizAgi
 

Similar to Introdução a data warehouse e olap

Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Andre Bretas
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016Roberto Fonseca
 
Artigo data warehouse bd ii - 2015-1 a
Artigo data warehouse   bd ii - 2015-1 aArtigo data warehouse   bd ii - 2015-1 a
Artigo data warehouse bd ii - 2015-1 aDarlene Coelho
 
Artigo data warehouse bd ii - 2015-1
Artigo data warehouse   bd ii - 2015-1Artigo data warehouse   bd ii - 2015-1
Artigo data warehouse bd ii - 2015-1Darlene Coelho
 
O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)Igor Abade
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureLuciano Condé
 
MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15MySQL Brasil
 
Lync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e ImplementaçãoLync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e Implementaçãobrunoestrozi
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Introdução ao AWS Database Migration Service
Introdução ao AWS Database Migration ServiceIntrodução ao AWS Database Migration Service
Introdução ao AWS Database Migration ServiceAmazon Web Services LATAM
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - TreinamentoCaio Lima
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewRoberto Oliveira
 

Similar to Introdução a data warehouse e olap (20)

Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Novidades do Sql Server 2016
Novidades do Sql Server 2016Novidades do Sql Server 2016
Novidades do Sql Server 2016
 
Artigo data warehouse bd ii - 2015-1 a
Artigo data warehouse   bd ii - 2015-1 aArtigo data warehouse   bd ii - 2015-1 a
Artigo data warehouse bd ii - 2015-1 a
 
Artigo data warehouse bd ii - 2015-1
Artigo data warehouse   bd ii - 2015-1Artigo data warehouse   bd ii - 2015-1
Artigo data warehouse bd ii - 2015-1
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
FLISOL 2017 - SQL Server no Linux
FLISOL 2017 - SQL Server no LinuxFLISOL 2017 - SQL Server no Linux
FLISOL 2017 - SQL Server no Linux
 
O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL Azure
 
MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?
 
Arquitetura sapb1
Arquitetura sapb1Arquitetura sapb1
Arquitetura sapb1
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
Plsql
PlsqlPlsql
Plsql
 
Lync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e ImplementaçãoLync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e Implementação
 
Banco de dados
Banco de dados   Banco de dados
Banco de dados
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Introdução ao AWS Database Migration Service
Introdução ao AWS Database Migration ServiceIntrodução ao AWS Database Migration Service
Introdução ao AWS Database Migration Service
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - Treinamento
 
12.08.22 olap
12.08.22   olap12.08.22   olap
12.08.22 olap
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - Qlikview
 

More from Fernando Palma

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...Fernando Palma
 
Formação em ciência de dados
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dadosFernando Palma
 
Apostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoFernando Palma
 
Apostila Arduino Basico
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino BasicoFernando Palma
 
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brFernando Palma
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioFernando Palma
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend FrameworkFernando Palma
 
Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na PráticaFernando Palma
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasFernando Palma
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)Fernando Palma
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilFernando Palma
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area NetworkFernando Palma
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na PráticaFernando Palma
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECFernando Palma
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHPFernando Palma
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoFernando Palma
 

More from Fernando Palma (20)

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
 
Formação em ciência de dados
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dados
 
Apostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao Arduino
 
Apostila Arduino Basico
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino Basico
 
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.br
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend Framework
 
Hacker Ético
Hacker ÉticoHacker Ético
Hacker Ético
 
Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na Prática
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões Comentadas
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
 
Tutorial memcached
Tutorial memcachedTutorial memcached
Tutorial memcached
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area Network
 
Linguagem ABAP
Linguagem ABAPLinguagem ABAP
Linguagem ABAP
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na Prática
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHP
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho Acadêmico
 

Introdução a data warehouse e olap

  • 1. Versão: 2.0 www.marcelosincic.com.br Página 1 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 informática 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 prêmio Latin American MCT Awards no MCT Summit 2009, um prêmio entregue a apenas 5 instrutores de toda a América Latina (http://www.marcelosincic.eti.br/Blog/post/Microsoft-MCT-Awards-America- Latina.aspx). Recebeu em setembro de 2009 o prêmio 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-OCS- 2007.aspx). Acumula por 5 vezes certificações com o título Charter Member, indicando estar entre os primeiros do mundo a se certificarem profissionalmente em Windows 2008 e Windows 7. 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 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
  • 2. Versão: 2.0 www.marcelosincic.com.br Página 2 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Introdução a Data Warehouse e OLAP Dados no formato relacional são muito ageis para as tarefas 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 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ção invertida, ou seja, os atributos serem as linhas e os itens nas colunas, como o exemplo abaixo demostra: Cliente Produto Quantidade ABC Camisa 20 ABC Calça 10 XYZ Camisa 30 XYZ Calça 20 Tabela no formato relacional (OLTP) Produto ABC XYZ Camisa 20 30 Calça 10 20 Tabela no formato análitico (OLAP) Note que os dados são os mesmos, mas a forma 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 totais. Esta realocação das linhas em colunas e das colunas em linhas recebe o nome de cross-join (referência 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 transformação 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 não podemos esquecer:
  • 3. Versão: 2.0 www.marcelosincic.com.br Página 3 de 59 www.marcelosincic.com.br Reprodução e distribuição livre • 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 consolidação e leitura, não permitindo gravação ou alterações. • OLTP – Online transaction process. São 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 operações de leitura e gravação constante. Sua desvantagem é a dificuldade em gerar dados consolidados em tempo hábil. • Data Warehouse – Repositório de cubos gerados para análise. • Pivot Table – Programa visualizador dos cubos, permitindo montar visões 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 junção 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 são manipulados pelo pivot table.
  • 4. Versão: 2.0 www.marcelosincic.com.br Página 4 de 59 www.marcelosincic.com.br Reprodução e distribuição livre OLAP no Microsoft SQL Server 2005 No SQL Server 2005 é possível trabalhar todos os recursos de OLAP por utilizar suas ferramentas de transformação de dados para gerar staging tables, tabelas transitórias com dados de várias fontes, ou então diretamente nos cubos. Esses dois processo estão exemplificados abaixo: Modelo 1: Geração dos dados OLAP utilizando tabelas unificadas 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 gerar os cubos análiticos. Data warehouse (OLAP Service) Oracle ou SQL Excel ou Access Staging tables Data Marts Cubo Cubo Data warehouse (OLAP Service) Oracle ou SQL Excel ou Access Data Marts Cubo Cubo
  • 5. Versão: 2.0 www.marcelosincic.com.br Página 5 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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. O segundo modelo apresentado utiliza apenas o OLAP Services que também permite a integração de dados heterogênios para formar uma única fonte de dados aos cubos analíticos. O serviço OLAP do SQL Server 2005 alêm disso permite também a visualização imediata dos cubos em pivot tables, agendamento das atualizações dos cubos e segurança ao acesso dos dados. O serviço OLAP tambem permitirá trabalhar com diversos tipos de armazenamento dos cubos, conforme a tabela a seguir: Modelo Armazenamento Comentários HOLAP Hibrido. As agregações (cubos) ficam no OLAP Services e os dados fonte continuam residindo no OLTP. Modelo mais utilizado, ocupando relativamente pouco espaço e utilizando a base OLTP apenas quando usuário pede detalhes. MOLAP Nativo. Tanto aos cubos quanto os dados fonte ficam gravados no OLAP. Ocupa muito espaço, principalmente com grandes databases já que duplica a fonte dos dados. Sua vantagem é a performance. ROLAP Relacional. O OLAP mantem apenas as estruturas e definições, a cada consulta ao cubo ele tem que ser inteiramente processado. O processamento se torna muito lento, principalmente quando são feitas muitas consultas ao cubo. Sua vantagem é pouco espaço ocupado. 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 Server 2005.
  • 6. Versão: 2.0 www.marcelosincic.com.br Página 6 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 um Metadata Repository, ou repositório de dados metafóricos, onde as configurações do serviço ficam armazenadas.
  • 7. Versão: 2.0 www.marcelosincic.com.br Página 7 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 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 apresentação irá constar o SQL Server como embutido nos projetos que podem ser criados. Tela de apresentação do BI Studio com as linguages e os serviços do SQL Ao clicar em novo projeto no Visual Studio poderá criar diversos projetos específicos do SQL Server, entre eles os projetos de OLAP (Analisys services).
  • 8. Versão: 2.0 www.marcelosincic.com.br Página 8 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 no Event 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.
  • 9. Versão: 2.0 www.marcelosincic.com.br Página 9 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Serviços do SQL Server incluindo o Analisys Services
  • 10. Versão: 2.0 www.marcelosincic.com.br Página 10 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 (exceto Roles), tarefa que cabe ao SQL Server Business Intelligence Development Studio. Abrindo o SSAS pelo console SQL Server Management Studio
  • 11. Versão: 2.0 www.marcelosincic.com.br Página 11 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Visualização dos objetos do SSAS
  • 12. Versão: 2.0 www.marcelosincic.com.br Página 12 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 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 inicialização de um novo projeto no Visual Studio 2005
  • 13. Versão: 2.0 www.marcelosincic.com.br Página 13 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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).
  • 14. Versão: 2.0 www.marcelosincic.com.br Página 14 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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ção New. 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
  • 15. Versão: 2.0 www.marcelosincic.com.br Página 15 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 16. Versão: 2.0 www.marcelosincic.com.br Página 16 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 em Data Sources no projeto de OLAP. Clique com o botão direito sobre Data Source e escolha a opção New Data Source ao 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 New para criar uma nova fonte de dados, como a tela a seguir.
  • 17. Versão: 2.0 www.marcelosincic.com.br Página 17 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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ão 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.
  • 18. Versão: 2.0 www.marcelosincic.com.br Página 18 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 19. Versão: 2.0 www.marcelosincic.com.br Página 19 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Definição completa do novo data source O passo seguinte é informarmos ao projeto qual o usuário que tem permissão para executar as agragaçõ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. Service Account Utiliza a conta do serviço Analisys Services do Windows para acesso ao dados. Quando os dados estão em um servidor externo e a conta de serviço for LocalSystem esta opção não funcionará. Current User A conta do usuário que está logado no momento da execução será utilizada. Não funciona no caso de agendamentos sem usuário
  • 20. Versão: 2.0 www.marcelosincic.com.br Página 20 de 59 www.marcelosincic.com.br Reprodução e distribuição livre operando. 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.
  • 21. Versão: 2.0 www.marcelosincic.com.br Página 21 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Tela de confirmação dos dados e criação do data source Projeto com o data source definido
  • 22. Versão: 2.0 www.marcelosincic.com.br Página 22 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 os data source views sã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.
  • 23. Versão: 2.0 www.marcelosincic.com.br Página 23 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 e New 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.
  • 24. Versão: 2.0 www.marcelosincic.com.br Página 24 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 25. Versão: 2.0 www.marcelosincic.com.br Página 25 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Seleção do método de escolha dos relacionamentos automáticos
  • 26. Versão: 2.0 www.marcelosincic.com.br Página 26 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Seleção das tabelas para a construção da view Escolhidas as tabelas informamos um nome para o data view.
  • 27. Versão: 2.0 www.marcelosincic.com.br Página 27 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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. Note que este link só pode ser efetuado se na tabela de dimensão houver uma chave primária, e que caso não haja o contrutor irá automaticamente criar a chave como na tela a seguir.
  • 28. Versão: 2.0 www.marcelosincic.com.br Página 28 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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ção Set Logical Primary Key.
  • 29. Versão: 2.0 www.marcelosincic.com.br Página 29 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 30. Versão: 2.0 www.marcelosincic.com.br Página 30 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Definindo Cubos A definição dos cubos é criada ao clicarmos no projeto em Cubes e com o botão direito a opção New 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ção auto 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.
  • 31. Versão: 2.0 www.marcelosincic.com.br Página 31 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Seleção da fonte de dados Baseado na fonte de dados o assistente mostra uma lista com as tabelas que estão vinculadas e permite escolher uma como fato e as outras como dimensão. Lembre-se de que a tabela de fato agrega dados e as de dimensão serverm para formar os critérios de pesquisa.
  • 32. Versão: 2.0 www.marcelosincic.com.br Página 32 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 33. Versão: 2.0 www.marcelosincic.com.br Página 33 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 34. Versão: 2.0 www.marcelosincic.com.br Página 34 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Definição das colunas que serão usadas como dimensão (eixo) O cubo está completo, digite o nome do objeto e confirme as agregações (measures) e as dimensões (dimensions).
  • 35. Versão: 2.0 www.marcelosincic.com.br Página 35 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 menu Dimensions.
  • 36. Versão: 2.0 www.marcelosincic.com.br Página 36 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 Intelligence e defina o tipo de assistente e a coluna que será utilizada.
  • 37. Versão: 2.0 www.marcelosincic.com.br Página 37 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 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.
  • 38. Versão: 2.0 www.marcelosincic.com.br Página 38 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Processando e Visualizando Cubos Para processar o cubo e ver os resultados podemos clicar no botão Process (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. Os processamentos podem ser Full (completo) ou Incremental (apenas alterações). Normalmente utilizamos o modo full, uma vez que o modo completo não poe ser usado com exatidão em tabelas que sofrem alterações. Caso a tabela de fato
  • 39. Versão: 2.0 www.marcelosincic.com.br Página 39 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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. Acesso as configurações de processamento
  • 40. Versão: 2.0 www.marcelosincic.com.br Página 40 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 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 aba Browse do Visual Studio 2005 e verá do lado direito uma árvore com as medidas acima e as dimensões separadas por tabela de dimensão embaixo.
  • 41. Versão: 2.0 www.marcelosincic.com.br Página 41 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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. Browse do cubo com eixos e colunas e medidas Neste segundo exemplo o código do serviço foi arrastado para debaixo do código 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 serviço executado.
  • 42. Versão: 2.0 www.marcelosincic.com.br Página 42 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 regiã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 gigantescos, ou então precisar de funcionários analisando estes dados continuamente.
  • 43. Versão: 2.0 www.marcelosincic.com.br Página 43 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Cubo completo com hierarquia, colunas, linhas e medidas
  • 44. Versão: 2.0 www.marcelosincic.com.br Página 44 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Definições Adicionais nos Cubos Trataremos agora de definições avançadas em cubos, permitindo a customização de dados, ações e modo 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 Calculations e será possivel criar três tipos de calculos: Calculared Member, Script e Named Set. Iremos trabalhar com as Calculated Member que são os dados utilizados em visualizações, montados com expressões comuns, exemplo, [Preço] * [ICMS]. Os objetos do tipo Script 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 tipo Named 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 guia Templates no 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 CALCULATE. Caso delete este script os processamentos do cubo podem ficar vazios.
  • 45. Versão: 2.0 www.marcelosincic.com.br Página 45 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 46. Versão: 2.0 www.marcelosincic.com.br Página 46 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Visualização do cubo agora com a coluna calculada KPI (Indicadores Chaves de Performance) 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.
  • 47. Versão: 2.0 www.marcelosincic.com.br Página 47 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 redirecionado para uma página no site da empresa que mostre a foto e os dados daquele produto. As ações 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 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 Origem].CurrentMember.Name, onde a string final formada será a URL do google mais o nome da cidade corrente onde foi clicado.
  • 48. Versão: 2.0 www.marcelosincic.com.br Página 48 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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.
  • 49. Versão: 2.0 www.marcelosincic.com.br Página 49 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 Partições são as definições de armazenamento dos dados gerados. Como vimos no inicio, as partições podem ser MOLAP (total), HOLAP (parcial) ou ROLAP (leitura online), sendo o MOLAP o que ocupa mais espaço e com melhor performance e o ROLAP o que ocupa menos espaço e com menor performance, como o gráfico a seguir.
  • 50. Versão: 2.0 www.marcelosincic.com.br Página 50 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Tamanho Performance MOLAP HOLAP ROLAP Ao clicar em Storage Options podemos configurar o tipo de armazanamento que será utilizado. Definição do tipo de armazenamento a ser utilizado
  • 51. Versão: 2.0 www.marcelosincic.com.br Página 51 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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ção New Partition, mas note que para isso é necessário informar uma consulta. Esta consulta deve definir quais dados cda partição irá conter. Definição do particionamento Por exemplo, uma partição pode ter o filtro Estado=’SP’ e a outra partição Estado<>’SP’, cada partição em um servidor e balanceando a carga entre eles. O problema do particionamento é a questão da performance de rede, uma vez que será necessário acessar dois servidores ao mesmo tempo. Perspectivas Se um cubo
  • 52. Versão: 2.0 www.marcelosincic.com.br Página 52 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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ão New Perspectives e defina os itens que irão constar nesta perspectiva. Definição de uma nova perspectiva Para utilizar a nova perspectiva utilize a opção correspondente na pivot table.
  • 53. Versão: 2.0 www.marcelosincic.com.br Página 53 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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. Esta opção é extramente util apenas quando temos a configuração multinacional em um cubo. Para criar um novo idioma clique no botão New Translation e indique o idioma e o país. Depois basta colocar o nome nos itens desejados.
  • 54. Versão: 2.0 www.marcelosincic.com.br Página 54 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Criação de um novo idioma
  • 55. Versão: 2.0 www.marcelosincic.com.br Página 55 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Cubo utilizando um diferente idioma
  • 56. Versão: 2.0 www.marcelosincic.com.br Página 56 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Segurança A segurança em cubos é muito simples de ser configurada. Clique na árvore Roles (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. • DataSources – Quais fontes de dados podem ser utilizadas.
  • 57. Versão: 2.0 www.marcelosincic.com.br Página 57 de 59 www.marcelosincic.com.br Reprodução e distribuição livre • 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. • Mining Structures – Quais os modelos estatisticos que podem ser usados.
  • 58. Versão: 2.0 www.marcelosincic.com.br Página 58 de 59 www.marcelosincic.com.br Reprodução e distribuição livre 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 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. Manipulação dos dados utilizando o Excel 2007 TR
  • 59. Versão: 2.0 www.marcelosincic.com.br Página 59 de 59 www.marcelosincic.com.br Reprodução e distribuição livre Planilha do Excel 2007 TR com o cubo incluido