Desenvolvimento - Sharepoint - Dev

Reporting Services e SharePoint: Relatórios a partir de uma Lista

Nesse artigo iremos abordar como podemos desenvolver e disponibilizar relatórios no SharePoint através do Reporting Services em modo integrado ao SharePoint.

por Wagner Amorim



Overview

Recentemente publicamos uma série de artigos focando na integração do SharePoint 2007 com o Reporting Services 2008, desta vez iremos abordar como podemos desenvolver e disponibilizar relatórios no SharePoint através do Reporting Services em modo integrado ao SharePoint e finalizar a série.

Na verdade esse é um cenário bem comum em projetos de SharePoint, disponibilizar relatórios é um módulo obrigatório para qualquer projeto que trabalha com informações, nos artigos anteriores exploramos como configurar a integração do SharePoint com o Reporting Services e como exibir informações de bancos proprietários/SQL Server dentro do SharePoint com o Reporting Services, o fato é que também é muito comum a necessidade de exibir relatórios com informações das nossas listas no SharePoint.

Confira os artigos anteriores:

Reporting Services e SharePoint em “Integration Mode”
http://www.canalsharepoint.com.br/tutoriais/Tutoriais/Reporting%20Services%20e%20SharePoint%20em%20“Integration%20Mode”.aspx

Reporting Services e SharePoint: Criando um Relatório Simples
http://www.canalsharepoint.com.br/tutoriais/Tutoriais/Reporting%20Services%20e%20SharePoint%20-%20Criando%20um%20Relatório%20Simples.aspx

Para saber mais sobre o Reporting Services leia:

SQL Server Reporting Services
http://msdn.microsoft.com/pt-br/library/ms159106.aspx

Developer"s Guide: Tutorials (Reporting Services)
http://msdn.microsoft.com/en-us/library/aa337423.aspx

Solução

Para essa solução vou trabalhar com as seguintes tecnologias:

- Windows SharePoint Services 3.0 with SP2
- Microsoft® SQL Server® 2008
- Microsoft® Windows Server 2008
- Visual Studio 2008 + Extensions for Windows SharePoint Services 3.0, v1.2
- Microsoft C#

Após ter configurado o SharePoint em “Integration Mode com o SQL Server Reporting Services, vamos criar nosso projeto no Visual Studio.

1. Criando o Projeto no Visual Studio.

1.1. No Visual Studio, cliqueem File/New/Project”.

1.2.Na janela New Project, clique em “Business Intelligence Projects/Report Server Project”, renomeie nome do projeto para “CanalSharePoint.Artigos.Reportings”.


1.3. Na janela Solution Explorer, clique com o botão direito em “Shared Data Sources” e selecione “Add New Data Source”.


1.4. Ao abrir a janela “Shared Data Source Properties”, atribua as seguintes propriedades:

Seção General:

ü Name: DSCanalSharePoint

ü Type: XML

ü Connection String: http://EnderecoDoSeuSite/_vti_bin/lists.asmx


Seção Credentials:

ü Marque a opção de autenticação utilizada pela sua aplicação SharePoint, por padrão Windows Authentication ou No Credentials para sites com acesso anônimo.

DICA: Utilize Windows Authentication ou Acesso Anônimo sempre que possível, pois as demais opções não são suportadas pelo Designer do SSRS no Visual Studio.

1.5. Após criar o DataSource, na janela Solution Explorer, clique com o botão direito na pasta “Reports”, depois em “Add/New Item/Report”.

1.6.Na janela Add New Item, renomeie o Report para “Clientes.rdl” e clique em Add.

1.7.Com o Report criado, agora precisamos adicionar um DataSet, para isso na janela Report Data, clique em “New/Dataset...”.


1.8. Na janela Dataset Properties, atribua as seguintes propriedades:

Seção Query:

ü Name: dstCanalSharePoint

ü Data Source: Escolha o Data Source criado no passo anterior ou se preferir crie um novo seguindo os passos anteriores.

ü Query: Insira uma Query em XML para a WebService, seja um exemplo:

<Query>

<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>

<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">

</Method>

</Query>


Seção Parameters:

Adicione os seguintes parâmetros

ü Parameter

o Name: listName

o Value: Nome ou GUID da lista que deseja consultar (ex: {632CF919-C265-4738-817D-F98F44CDB5FA})

ü Parameter

o Name: rowLimit

o Value: O limite de itens que a consulta deve retornar (ex: 1000)

ü Parameter

o Name: viewName

o Value: Nome ou GUID da view que deseja consultar (ex: {7B4939FAD1-D5B6F-D4CCF-DA3AE-DB2BCF3199857})

* Esse parâmetro é recomendado, porém não é obrigatório.

DICA: Você consegue facilmente obter o GUID da Lista ou da View utilizando ferramentas de terceiros como o Stramit CAML Viewer (http://www.codeplex.com/SPCamlViewer), ou acessando as configurações do site e da lista.



Seção Fields:

Adicione os campos desejados da lista

ü Field

o Name: Insira o nome que deseja atribuir ao campo.

o Source: Insira o caminho do campo no seu DataSource, esse caminho é formado da seguinte forma “ows_” + Internal Name (esse deve ser o Internal Name do campo na lista consultada), veja na figura abaixo:


DICA: A ferramenta “Stramit CAML Viewer” indicada acima também consegue facilmente exibir o internal name do campo desejado.

1.9.Clique em OK.

1.10. Note na janela Report Data que o DataSet já está disponível com o campo adicionado.


1.11. Agora para testar basta adicionar o campo na tela de Design, para isso, clique com o botão direito na tela Design, depois em “Insert/Table”.


1.12. Após o Visual Studio adicionar a tabela, clique no símboloem qualquer uma das colunas inferiores (data) e selecione o nome do campo criado acima (título).


1.13. Salve o projeto.

1.14. Clique na guia Preview, depois em “View Report” para testar seu Relatório.


Agora seu relatório já está pronto, para publicá-lo no SharePoint, acesse o artigo anterior da série em Reporting Services e SharePoint: Criando um Relatório Simples e siga os passos a partir do item 2.12.

No artigo acima não entrei nos conceitos de melhores práticas e de design do Reporting Services, o foco do artigo é somente apresentar a integração entre as tecnologias SharePoint e Reporting Services, para maiores detalhes das 2 tecnologias, recomendo o site MSDN e os links apresentados acima.

Conclusão

Após todos esses passos, finalizamos o terceiro artigo da série “SharePoint e Reporting Services”, nesse artigo exploramos como criar relatórios no Reporting Services a partir de Listas no SharePoint.

Wagner Amorim

Wagner Amorim - Consultor com 7 anos de experiência no mercado de TI, já atuou em diversos projetos para médias e grandes empresas. Focado em tecnologias Microsoft, têm se especializado nas Tecnologias SharePoint e Microsoft .NET desde 2003. Membro ativo das comunidades Technet e MSDN voltadas para SharePoint e Líder da maior Comunidade de SharePoint no Brasil (Canal SharePoint).
Possui as certificações MCP: .NET Framework 2.0, MCTS: .NET Framework 2.0 Web Applications, Windows SharePoint Services 3.0: AD, Windows SharePoint Services 3.0: Config., Microsoft Office SharePoint Server 2007: Config., Microsoft Office SharePoint Server 2007: AD e MCPD: Web Developer.
Blog:
http://waamorim.spaces.live.com/