Microsoft Analysis Service Neste capítulo você verá: BI Development Studio Analysis Services e Cubos Microsoft Analysis Services é um conjunto de serviços que são usados para gerenciar os dados que são armazenados em um data warehouse ou data mart. Analysis Services organiza dados de um data warehouse em cubos multidimensionais, com agregados para permitir a execução de relatórios sofisticados e consultas complexas. As principa is características do Analysis Services são : Facilidade de uso Modelo de dados flexível Diversidade de APIs suportadas Analysis Services oferecem assistentes para quase todas as tarefas que são executadas durante a concepção e implementação de um data warehouse. Por exemplo, o Assistente de Fonte de Dados permite que você especifique uma ou mais fontes de dados, enquanto Assistente de cubo é usado para criar um cubo multidimensional, onde os dados são armazenados de forma agregada. Facilidade de uso é garantida pela Business Intelligence (BI) Development Studio. Você pode usar esta ferramenta para desenvolver bases de dados e outros objetos de armazenamento de dados. Isso significa que o BI Development Studio oferece uma interface para o desenvolvimento de ambos os projetos do Analysis Services e SQL Server Integration Services e Reporting projetos Services. Em contraste com a maioria dos outros sistemas de armazenamento de dados, o Analysis Services permite que você use a arquitetura que seja mais adequada para um sistema de armazenamento de dados específico. Você pode escolher entre as três arquiteturas (MOLAP, ROLAP e HOLAP). BI Development Studio O principal componente do Analysis Services é Business Intelligence Developme nt Studio, uma ferramenta de gestão que fornece uma plataforma de desenvolvimento para Integration Services, Reporting Services mineração de dados e Analysis Services. Construído sobre Visual Studio, BI Development Studio suporta uma plataforma de desenvolvimento integrado para desenvolvedores de sistemas na área de inteligência de negócios. Depuração, controle de origem e desenvolvimento de código estão disponíve is para todos os componentes da aplicação de BI. Você pode usar o BI Development Studio não só para criar e gerenciar cubos, mas também para projetar capacidades para SQL Server Reporting Services e SQL Server Integration Services. Nota: A interface de usuário de BI Development Studio é muito semelhante à interface do SQL Server Management Studio. No entanto, essas duas ferramentas diferem na sua implantação: você deve usar o BI Development Studio para desenvolver projetos de BI, enquanto você deve usar principalmente SQL Server Management Studio para operar e manter os objetos de banco de dados de BI. Neste artigo, BI Development Studio é usado para criar um cubo com base no banco de dados AdventureWorksDW e processá-la. Para iniciar o BI Development Studio, clique em Iniciar, Todos os Programas, Microsoft SQL Server 2008 e, finalmente, o SQL Server Business Intelligence Development Studio. Criando um novo projeto O primeiro passo na construção de uma aplicação analítica é criar um novo projeto. Para construir um clique de arquivo de projeto, selecione Novo e escolha Project. Na caixa de diálogo New Project (veja a Figura 1), clique na pasta Projetos de Business Intellige nce no painel Project Types. No painel Modelos, selecione Analysis Project Services. Digite o nome do projeto e sua localização nas caixas Nome e Localização de texto, respectivamente. Para os fins deste exemplo, nomeie o projeto Projeto1, como mostrado na Figura 1. O novo projeto será criado depois de clicar em OK. Figura 1 – Interface de criação de novo projeto. O novo projeto é sempre criado em uma nova solução. Assim, a solução é a maior unidade de gestão em BI Development Studio, e sempre compreende um ou mais projetos. (Se o painel Solution Explorer, que permite visualizar e gerenciar os objetos em uma solução ou um projeto, não é visível, você pode exibi-lo clicando em Visualizar na barra de menu e selecionando Solution Explorer.) Dê uma olhada no Solution Explorer painel com o projeto recém-criado. No nó do projeto, existem as seguintes pastas, entre outros: Fontes de dados: armazena as informações para conexão com o banco de dados de origem. Fonte de Visualização de dados: Contém informações sobre o subconjunto de tabelas em um banco de dados de origem. Cubos: Engloba todos os cubos que fazem parte do projeto. Dimensões: Contém todas as dimensões. Analysis Services oferece suporte a três tipos de dimensões. Dimensões compartilhadas (também chamados de dimensões conformadas) são dimensões que são compartilhados entre dois ou mais cubos no banco de dados. Dimensões típicas são compartilhados Tempo, Produto e Cliente. Dimensões particulares são criadas para um cubo individual. A dimensão ligada baseia-se em uma dimensão que é armazenada em outro banco de dados do Analysis Services. O banco de dados de origem para uma dimensão vinculada pode estar no mesmo servidor ou em um servidor diferente. Mining Estrutures: Permite criar um modelo de mineração de dados usando o Assistente de Mineração de Dados. Estes modelos baseiam-se nas informações de cubo existente. Além dessas pastas, existem várias outras pastas (Roles, montagens e diversas). A descrição dessas pastas podem ser encontradas no Books Online. Uma vez que o projeto é criado, você deve criar uma fonte de dados. Criando uma fonte de dados Para criar um fonte de dados, clique com botão direito na pasta Fontes de dados no painel Solution Explorer e selecione New Data Source. O Assistente de origem de dados, que o guiará através do processo de criação de uma fonte de dados. (Este exemplo usa o banco de dados SQL Server exemplo chamado AdventureWorksDW como fonte de dados.) Em primeiro lugar, sobre o Select como definir a página de conexão, certifique-se de que o Criar uma fonte de dados com base em um botão de conexão existente ou novo é escolhido e clique novo. Na caixa de diálogo Gerenciador de conexão, selecione Native OLE DB / SQL Server Native Client 10.0 e selecione o nome do seu servidor de banco de dados como o nome do servidor. No mesmo passo, escolha Usar Autenticação do Windows e, a partir Selecione ou digite uma lista drop-down nome do banco de dados, selecione o banco de dados AdventureWorksDW. Antes de clicar em OK, clique no botão Test Connection para testar a conexão com o banco de dados. Figura 2 – Interface do Solution Explorer relacionado a uma nova fonte de dados. Finalmente, na página Concluindo o Assistente, nomeie a nova fonte de dados um nome (para este exemplo, chamá-lo Source1) e clique em Concluir. A nova fonte de dados é exibida no painel Solution Explorer na pasta Fontes de dados, veja a Figura 2. O próximo passo é criar uma visão que corresponde à fonte de dados selecionada. A exibição da fonte de dados é usada para definir as informações de esquema que pretende utilizar em sua solução. Em outras palavras, uma exibição da fonte de dados contém informações sobre o subconjunto de tabelas do banco de dados de origem especificado. (Você deve criar uma exibição da fonte de dados quando o banco de dados é composto por centenas de tabelas, dos quais apenas alguns são úteis em uma aplicação de BI.) Para criar esse ponto de vista, clique com o botão direito do mouse no Data Source Views pasta no painel Solution Explorer e selecione nova Data View Source. A exibição da fonte de Assistente de dados o guia através dos passos que são necessários para criar uma exibição da fonte de dados. (Este exemplo cria uma exibição chamada View1, que é baseado no cliente e tabelas de projeto, bem como suas tabelas relacionadas.) Em primeiro lugar, na página Selecionar uma Fonte de Dados, selecione uma fonte de dados relacional existente (para este exemplo, selecione Source1) e clique em Avançar. Nas próximas tabelas de página Select e Views- você selecionar tabelas que pertencem ao seu cubo seja como tabelas de dimensões ou tabelas de fatos. (Para selecionar uma tabela, marcar o seu nome e clique no botão> no meio da janela. Novamente, clique em Concluir. Depois disso, a tabela aparece no painel de objetos incluídos.) Para este exemplo, selecione os clientes e produtos tabelas de a base de dados AdventureWorksDW. Estas tabelas são chamadas DimCustomer e DimProduct, respectivamente, e serão usados para construir as dimensões do cubo. Além disso, ao clicar no botão Adicionar tabelas relacionadas, você instrui o sistema para encontrar tabelas que estão relacionadas com as duas tabelas selecionadas. Para encontrar tabelas relacionadas, o sistema procura todos os principais / relações de chave estrangeira primárias que existem no banco de dados. Figura 3 – Interface do Completing the Wizard. Além disso, adicione a tabela de DimTime, porque a dimensão do tempo é (quase) sempre uma parte de um cubo. Depois disso, clique em Avançar. Na página Concluindo o Assistente, o sistema mostra as tabelas, que você pode ver na Figura 3: DimCustomer DimProduct FactResellerSales DimProductSubcategory FactInternetSales DimTime Clique em Concluir. Após as tabelas são selecionados, o assistente for concluído e Fonte de Dados Designer mostra as tabelas selecionadas, veja a Figura 4. Fonte de Dados Designer é uma ferramenta que é usada para mostrar uma representação gráfica do esquema de dados que você definiu. Fonte de Dados Designer oferece várias funções úteis. Para inspecionar os objetos que você tem em sua exibição da fonte, mova o ponteiro do mouse para o ícone cross-seta no canto inferior direito. Quando o ponteiro muda para um ícone de cross-flecha, clique no ícone. Será exibida a janela de navegação. Agora você pode navegar de uma parte do diagrama para outra parte. Se você quiser encontrar uma tabela específica, use a função Fonte de Dados na da barra de menu e selecione Localizar Tabela. Para visualizar os dados em uma tabela, clique com o botão direito do mouse na tabela e clique em Explorar Dados. Figura 4 – Designer Data Source View comas tabelas selecionadas. Você também pode criar consultas nomeadas, que são consultas que são armazenadas permanentemente e, portanto, podem ser acessados como qualquer mesa. Para criar tal consulta, clique na função Fonte de Dados na barra de menu e, em seguida, selecione o ícone New consulta nomeada. A caixa de diálogo Criar Consulta Nomeada permite que você crie qualquer dúvida em relação às tabelas selecionadas. Analysis Services e Cubos Um cubo é uma estrutura multidimensional que contém a totalidade ou uma parte dos dados de um data warehouse. Cada cubo contém os seguintes componentes: Dimensions Members Hierarchies Cells Levels (Níveis) Properties Uma dimensão é um conjunto de atributos relacionados logicamente (armazenados juntos em uma tabela dimensional), que descreve as medidas de perto (armazenado na tabela de fatos). Embora o termo "cubo" implica três dimensões, um cubo geralme nte multidimensional pode ter muitas outras dimensões. Por exemplo, Tempo, Produto e Cliente são as dimensões típicas que fazem parte de muitos modelos. Nota: Uma dimensão importante de um cubo é a dimensão de medidas, que inclui todas as medidas definidas na tabela de fatos. Cada valor discreto em uma dimensão é chamada de um membro. Por exemplo, os membros de uma dimensão do produto poderia ser Computadores, discos e CPUs. Cada membro pode ser calculado, o que significa que seu valor é calculado em tempo de execução usando uma expressão que é especificado durante a definição do membro. Como os membros calculados não são armazenadas no disco, eles permitem que você adicionar novos membros sem aumentar o tamanho de um cubo correspondente. Hierarquias especificam agrupamentos de vários membros dentro de cada dimensão. Eles são usados para refinar consultas em matéria de análise de dados. As células são partes de um cubo multidimensional que são identificados através de coordenadas (x, y, e z coordenadas, se o cubo é tridimensional). Isto significa que é uma célula de um conjunto contendo os membros de cada dimensão. Por exemplo, considere o cubo tridimensional da Figura 3, que representa as vendas de automóveis para uma única região dentro de um quarto. As células com as seguintes coordenadas pertencem, entre outros, para o cubo: Primeiro trimestre: América do Sul, Falcon Terceiro trimestre: Ásia, Águia Ao definir hierarquias, você defini- los em termos de seus níveis. Em outras palavras, os níveis da hierarquia de descrever mais alto (mais resumida) nível para o nível mais baixo mais detalhada de dados. A lista a seguir mostra os possíveis níveis de hierarquia para a dimensão de tempo: Quarter (Q1, Q2, Q3, Q4) Month (Janeiro, Fevereiro, ...) Day (Day1, Day2, ...) Criando um Cubo Antes de criar um Cubo você precisa especificar um ou mais data sources e criar uma visualização de fonte de dados, como falado anteriormente neste arquivo. Depois dito, você pode utilizar o wizard para criar o Cubo. Para criar um Cubo, utilize o botão direito do mouse na pasta do projeto desejado no painel do Solution Explorer, selecionando a opção de novo Cubo que fará o wizard de criação de Cubos aparecer. Depois disto, selecione a opção Use existing tables na página Select Creation Method e clique Next. Na página Select Measure roup Table, selecione selecione a vista de fonte de dados, clique o botão Suggest e depois clique no botão Next. Na página Select Measure,selecione as seguintes medidas: SalesAmount (Tabela de fatos FactResselerSales) e TotalProductCost (Na tabela de fatos FactInternetSales). Clique Next. Na página Select New Dimension, selecione todas as 3 dimensões (DimTime, DimProduct and DimConsumer) para serem criadas baseadas nas tabelas disponíveis. A página final Completind the Wizard mostra um sumário de todas as medidas e dimensões selecionadas. Clique Finish para encerrar. Desenhando o Armazenamento da Agregação e Processando um Cubo Como você já sabe, dados básicos da tabela de fatos podem ser sumarizadas antecipadamente e armazenadas em tabelas. Este processo é conhecido como agregação e pode melhorar em muito o tempo de resposta de consultas porque realizá-las em milhares de registros para calcular uma agregação pode levar um tempo muito longo. Figura 5 – Página de finalização do Wizard. Por outro lado, calcular todas as agregações possíveis em um cubo e armazenar no disco resulta no menor tempo de resposta para todas as consultas possíveis, porque a reposta de todas as consultas é praticamente imediata. Mas existe uma desvantagem, pois o armazenamento e o processamento necessário para a criação pode ser substancial. Para nos ajudar a balancear as vantagens de consultas imediatas e o alto uso e armazenamento, existe o Aggregation Design Wizard para nos ajudar a otimizar o design das agregações. Para iniciar o wizard, clique na aba Partitions no dsigner dos Cubos. A figura 6 mostra a aba de partição para a FactInternetSales da tabela de fatos. Na tabela FactInternetSales que aparece no Cube Designer, clique no valor abaixo da coluna Aggregations e depois clique no mesmo campo que fará o wizard de design de agregação ser iniciado. No primeiro passo do wizard, você poderá rever a configuração do uso da agregação em uma janela de mesmo nome permitindo que você inclua ou exclua atributos que aparecem na página. O próximo passo depois de selecionar a estrutura de armazenamento é especificar o número de membros de cada atributo. Você pode fazer isto na página Specify Objects Count. Para cada objeto selecionado no cubo, você deverá especificar o valor de contagem estimado ou o valor de contagem de partições, antes e iniciar o wizard clicando no botão Count que conta e mostra o resultado obtido. Figura 6 – Tab Partitions da tabela de fatos FactInternetSale. Figura 7 – Seleção das opções de agregação. Na página Set Aggregatiom Options mostrada na figura 7 selecione uma das 4 opções para especificar até qual ponto as agregações deverão ser desenhadas. Veja abaixo detalhes das opções. Estimated storage reaches: Especifica o valor máximo de área de armazename nto em disco a ser utilizada para agregações do cubo. Quanto maior o valor, maior a quantidade de agregações pré-calculadas você terá. Performance gains reaches: Especifica o ganho de performance que você deseja obter. Quanto maior o percentual de agregações pré-calculadas, melhor sua performance. I click stop: Permite a você decidir quando o desing deve parar. Do not design aggregation: Especifica que nenhuma agregação deve ser précalculada. Depois de clicar o botão Start e o botão Next, a página Completing the Wizard aparece, permitindo a você definir se deseja iniciar o processo imediatamente ou mais tarde. A janela de progresso de processamento mostrada na figura 8 aparece e mostra o progresso do processamento do Cubo. Figura 8 – Janela que mostra o progresso do processamento. Navegando no Cubo Para navegar em um cubo, utilize o botão direito do mouse no nome do Cubo e selecione navegar (browse). A visão navegação aparece. Você pode adicionar qualquer uma das dimensões com o botão direito no nome da dimensão no painel da esquerda e selecionando Add to Column Area ou Add to Row Area. Você também pode adicionar uma medida para o mesmo painel se você utilizar o botão direito no nome da medida e selecionar Add to Data Area. A figura 9 mostra o total de vendas relacionada às vendas pela Internet para diferentes clientes e produtos. Para mostrar estes valores, utilize o botão direito a tabela DimProduct e selecione Add to Collumn Area. Clique com o botão direito na tabela DimCostumer e selecione Add to Row Area. Figura 9 – CrossTable com o total de vendas para as vendas pela Internet . Nota: Com ALT-SHIFT-ENTER você pode aumentar a visualização do Designer do Cubo.