Este foi o draft enviado à Mundo .Net que foi publicado na edição de Outubro de 2010 (http://www.mundodotnet.com.br):

 

 Dê poder aos usuários com Self-Service BI

Em termos gerais, Business Intelligence (BI) engloba a análise orientada a dados ou relatórios de negócios. Se você está analisando dados na tentativa de torná-los compreensíveis para que se possam fazer melhores decisões, ou se você está trabalhando na preparação desses dados para que as análises e os relatórios sejam criados, isso é BI.

Tradicionalmente, BI é o conjunto de atividades executados pela TI de uma empresa para que o usuário de negócios possa fazer suas análises e tomar decisões. Essas atividades comumente são o desenvolvimento e a disponibilização de relatórios, scorecards, aplicações, e tudo mais para que isso seja possível. Em outras palavras, são atividades normalmente feitas por desenvolvedores e DBAs.

É comum que a TI de uma empresa não tenha tempo nem recursos para atender toda a demanda. Talvez apenas 5%, ou menos, da demanda seja efetivamente atendida pela TI. Com certeza são os 5% mais importantes para a empresa, mas são apenas 5%.

E se a TI não puder fazer? A resposta mais rápida é criar uma solução que não envolva a TI. Existem muitas ferramentas que esses usuários utilizam, mas de longe a mais usada é o Microsoft Excel. Uma grande parte das decisões de negócio no mundo é tomada a partir de um arquivo Excel. Ele é excelente para o seu fim: é flexível, poderoso e amigável. No entanto, há alguns problemas que essa abordagem traz:

·        É comum que esses arquivos Excel sejam compartilhados por e-mail, ou são disponibilizados em algum compartilhamento de rede. Isso traz um risco se o conteúdo desses arquivos, os dados, for sensível.

·        É difícil de assegurar que todos os interessados estejam trabalhando com a versão mais atual.

·        A atualização desses relatórios normalmente é trabalhosa e, muitas vezes, frequente.

·        Muitas vezes os dados em que esses arquivos Excel são baseados são coletados em fontes sem o conhecimento da TI. Se a TI, que não tem conhecimento dessa dependência, quebrar essa comunicação devido a alguma atualização dos seus sistemas, é possível que alguém da TI receber uma ligação de algum diretor insatisfeito.

Como consequência, uma tensão foi se estabelecendo entre a TI (que muitas vezes quis que abolissem o uso do Excel) e os usuários de negócio (que várias vezes desejou uma TI mais eficiente). Não há certo ou errado. É uma tensão natural e inevitável dado como as coisas são.

Este artigo mostrará uma visão geral como o PowerPivot para Excel e o PowerPivot para SharePoint atende ao usuário de negócio, já familiar com o Excel,  sem que ele tenha necessariamente conhecimento de OLAP, modelagem dimensional ou Analysis Services ao mesmo tempo em que dá controle a TI.

 

Com vocês, PowerPivot para Excel 2010

O PowerPivot para Excel é um add-on gratuito para o Microsoft Excel 2010. Ele é uma versão modificada do engine do SQL Server Analysis Services que usa como cliente o Excel, já familiar para os usuários de negócio. No lugar de cubos e modelagem dimensional, o usuário trabalha com tabelas. No lugar de MDX para consultas e manipular dados, o usuário trabalha com a linguagem do Excel (com ajuda do DAX, que é uma extensão da linguagem do Excel para manipular dados, mas mantém a mesma sintaxe do Excel).

Após a instalação do add-on PowerPivot para Excel 2010, uma nova opção é instalado no ribbon do Excel:

 

Figura 1.  PowerPivot no ribbon do Excel 2010.

Clicando no botão PowerPivot Window, o cliente do PowerPivot será carregado juntamente com o servidor SQL Server Analysis Services embutido no Excel. Ele é a interface por onde o usuário de negócios irá preparar os dados com que trabalhará (ver Figura 2). Através dele, o usuário poderá:

·        Trabalhar eficientemente com grandes quantidades de dados em memória;

·        Importar dados de uma grande variedade de fontes;

·        Realizar operações de modelagem como, por exemplo, criar relacionamento entre tabelas e criar fórmulas que expressem regras de negócio;

Figura 2.  Apresentando o cliente PowerPivot para Excel 2010.

 

Importando dados para o PowerPivot

Como é de se esperar, tudo começa com os dados. O PowerPivot prover diversas maneiras para que isso possa ser feito pelo usuário de negócios:

·        A partir de um banco de dados (SQL Server, Access, Analysis Sercices ou PowerPivot);

·        De um relatório gerado pelo SQL Server Reporting Services (RS);

·        De um data feed;

·        Texto;

·        Ou a partir de outras fontes. Esta opção abre o Table Import Wizard, que possibilita importar dados de várias fontes, que inclui uma longa lista bancos de dados relacionais como, por exemplo, SQL Server, SQL Server Azure, SQL Server Parallel Data Warehouse, Oracle, Teradata, MS Access, Sybase, DB2, etc.

Figura 3.  Wizard para importação de dados.

Dependendo do tipo da fonte de dados, é possível selecionar tabelas, ter preview dos dados, selecionar e filtrar colunas, e/ou especificar uma consulta SQL para importação dos dados.

Copiar e Colar

O usuário também pode combinar métodos de como importar os dados. Ele pode combinar dados de um banco relacional com dados que ele recebeu em um e-mail ou que achou numa página html ou que ele digitou. Como é esperado, o PowerPivot permite que os dados adquiridos dessa forma possam ser combinados (criar relacionamentos, fórmulas, etc) com dados importados através do Table Import Wizard.

 

Data feeds

Além de trabalhar com dados estruturados (a partir de um banco relacional, por exemplo), o PowerPivot permite importar dados a partir de um data feed baseado no formato Atom ou a partir de um relatório criado com o SQL Server Reporting Services 2008 R2. A beleza dessa abordagem é que o usuário não precisa ter acesso direto aos dados em que o data feed ou o relatório RS se baseiam. O usuário também não precisa replicar a lógica de negócios que já estão definidas no data feeds ou no relatório RS. É só apontar para uma dessas fontes que os dados irão para a janela do PowerPivot.

Figura 4.  Wizard para importação de dados.

 

Trabalhando com tabelas

Após a importação de dados para o PowerPivot, os dados são internamente armazenados por um servidor embutido no Excel do SQL Server Analysis Services. Esses dados são visualizados através do cliente PowerPivot:

Figura 5.  Trabalhando com tabelas na janela do PowerPivot.

Se as tabelas importadas pelo PowerPivot possuíam relacionamentos, o processo de importação do PowerPivot reconhecerá automaticamente. Caso haja relacionamentos não detectados, o usuário pode cria-los manualmente.

Manter ou criar relacionamentos entre dados no PowerPivot permite com que o usuário navegue e agrupe dados corretamente, e isso evita que o usuário precise importar dados de tabelas não relacionadas para um único conglomerado.

Cálculos com o PowerPivot

A importação de dados é o começo. O PowerPivot para Excel permite que o usuário de negócios crie fórmulas que permitam eles expressarem regras de negócio sem que exija deles conhecimento de modelagem dimensional, como a linguagem MDX usada no SQL Server Analysis Services tradicional. Usuários Excel esperam trabalhar com fórmulas como esta:

 
=if([Gross]>100000000, “Blockbuster”, if([Gross]>10000000, “Normal”, “Tragic”))
 

 

E o PowerPivot trabalha com esta linguagem.

Na arquitetura do PowerPivot, o engine de cálculo não envia os dados para o Excel para que ele recalcule. O PowerPivot suporta trabalhar com conjuntos de dados muito maiores que o Excel permite nativamente, evitando limitações de escalabilidade. Uma vez que os cálculos são realizados pelo PowerPivot e não pelo Excel, o PowerPivot implementa as funções do Excel. A Figura 6 mostra algumas das funções disponíveis no PowerPivot:

Figura 6. Inserindo funções.

O usuário de negócios encontrará funções conhecidas como ABS, AVERAGE, AVERAGEA, mas ele também encontrará funções novas como ALL, ALLEXCEPT, AVERAGEX. O PowerPivot foi projetado para ser uma ferramenta fácil para um usuário Excel começar a trabalhar, mas que também fosse capaz de atender às novas necessidades dos usuários que queiram avançar e tirar o máximo de proveito dos dados armazenados no PowerPivot.

Por exemplo, digamos que tenhamos importado dados estatísticos sobre todas as partidas e jogadores de futebol das copas do mundo até 2006, e queremos fazer análises com esses dados. Em uma das tabelas estão dados sobre as partidas (países, data, resultado, fase na copa, etc), mas queremos poder saber separadamente quantos gols cada país marcou em cada partida. Tendo importado os dados juntamente com seus relacionamentos, tudo que temos que fazer é ir à tabela de AllGames, se o país em questão tiver ganho, use o valor da coluna Score1, se não, use o valor da coluna Scode2. Para ter acesso a dados de outras tabelas, é só usar RELATED(), e referenciar a tabela e coluna desejadas:

 

 
=IF(GameParticipation[Result] = "Win", RELATED(AllGames[Score1]), RELATED(AllGames[Score2]))
 

 

 

Figura 7. Usando RELATED para criar novas colunas.

Visualizando no Excel

Após importar e modelar os dados, está na hora de usar o Excel para criar aplicações ricas e interativas. O Excel tem ferramentas já conhecidas como Tabelas Dinâmicas e Gráficos Dinâmicos, entre outras. Na versão 2010 do Excel está disponível features como Slicers (Segmentação de Dados, na versão em Português) foram introduzidas para aumentar a interatividade com os dados. A Segmentação de Dados provê particionar os dados que estão conectados por ele assim como dar feedback a outros controles que se baseiam nestes dados. Por exemplo, o usuário pode querer ver o resultado de todos os jogos entre Brasil e Holanda. É só ele clicar em Brasil no Slicer Country que no Slicer Opponent apenas os países com quem o Brasil já jogou serão selecionáveis. A partir daí é só selecionar a Holanda (Netherlands) no Slicer Opponent:

Figura 8. Usando Slicers no Excel para aumentar a interatividade das aplicações.

Dando continuidade ao princípio que os usuários de negócio não precisam ter conhecimentos sobre dimensões e medidas e quando usar um ou outro, o PowerPivot para Excel substitui a Lista de Campos PivotTable Field List por uma que achamos mais simples, a Lista de Campos do PowerPivot. Note a integração entre o Excel e PowerPivot, onde os Slicers (ou Segmentação de Dados) aparecem na lista.

Figura 9. Lista de Campos do PowerPivot.

 

Após alguns minutos organizando layouts, inserindo e editando componentes visuais, o usuário pode criar aplicações ricas e interativas armazenadas em arquivos Excel:

Figura 10. Uma aplicação de BI dentro do Excel.

Com vocês, PowerPivot para SharePoint 2010

O PowerPivot para SharePoint 2010 é um produto lançado no SQL Server 2008 R2. Ele tem o papel de integrar o servidor SQL Server Analysis Services com o SharePoint, de forma que os arquivos Excel criados com o PowerPivot possam ser compartilhados, gerenciados e atualizados de forma segura Os arquivos Excel podem ser visualizados tanto no browser como podem ser baixados e abertos com o Excel 2010. Abrindo os arquivos Excel pelo browser permitem que usuários que não tenham o Excel instalados na máquina possam visualizar e interagir com os dados (desde que eles tenham permissão para acessar os arquivos no SharePoint).

Aqui seguem alguns características e funcionalidades do PowerPivot para SharePoint:

 

PowerPivot Gallery

Para aqueles usuários que preferem uma interface gráfica rica, listas do SharePoint podem ser algo que deixe um pouco a desejar. O PowerPivot Gallery, feito em Silverlight, apresenta os arquivos Excel de uma forma diferente, mostrando snapshots dos seus conteúdos como mostra a Figura 11.


Figura 11. Visualizando o conteúdo de arquivos Excel com o PowerPivot Gallery.

 

Agendando Atualizações de Dados

O banco de dados do Analysis Services que é está embutido no arquivo Excel 2010 mantém informações sobre de onde os dados foram importados. Uma vez que o arquivo Excel é publicado no SharePoint, usuários podem agendar atualizações dos dados dos arquivos. Essas atualizações aconteceram de forma segura e com a frequência que o usuário determinar durante agendamento.

Figura 12 Agendando atualizações de dados com o PowerPivot para SharePoint.

 

Usando arquivos Excel com PowerPivot como fonte de dados

Uma vez publicado no SharePoint, o arquivo Excel com PowerPivot podem ser usados como um banco de dados do Analysis Services (AS). Isso quer dizer que ferramentas como Excel, Report Builder, etc, podem conectar a este banco de dados como se fosse um banco AS como outro qualquer. A única diferença é que agora o usuário irá fornecer a URL para o arquivo Excel no SharePoint como sendo a string de conexão. O Serviço PowerPivot que é executado dentro do SharePoint irá saber como lidar com a conexão e fará o que é necessário para carregar o banco de dados e transparentemente redirecionar as consultas feitas a ele.

 

Figura 13. Usando arquivos Excel com PowerPivot como fonte de dados.

 

 

PowerPivot Management Dashboard (Painel de Controle do PowerPivot)

Com foco na TI, o PowerPivot Management Dashboard tem como objetivo dar ao administrador uma visão geral do que está sendo feito em sua fazenda de servidores SharePoint com PowerPivot. Ele é acessado através da aplicação de Administração Central do SharePoint. Com ele é possível visualizar uma série de informações:

·        Consumo de CPU, Memória, e utilização das instâncias do SQL Server Analysis Services;

·        Atualizações de dados recentes nos arquivos Excel;

·        O quanto um arquivo Excel é consultado;

·        Falhas em atualização de dados, etc.

Figura 14. Painel de Controle PowerPivot.

Para baixar o PowerPivot em português: http://bit.ly/fRRPRk