Translate

jueves, 5 de abril de 2012

Sharepoint + Excel = PowerPivot

El proposito de este post, es integrar gráficos dinámicos en sharepoint 2010 que tomen como fuente de datos una lista residente en el propio servidor.

El primer paso que debemos realizar es instalar el plugin powerpivot para excel
http://www.microsoft.com/en-us/bi/powerpivot.aspx , de esta menera podremos crear un grafico dinámico basado en una lista personalizada ubicada en nuestro servidor SharePoint 2010.

Desde PowerPivot para Excel podemos usar como fuente de datos una lista de SharePoint 2010. Para poder usarla la lista de SharePoint debe poder ofrecer los datos como Data Feed (en formato ATOM).

Para esto SharePoint 2010 debe:

- Tener un servicio web capaz de ofrecer los datos en ATOM (se instala a través de PowerPivot para SharePoint)
    • Uno ver los Pre-requisitos de SharePoint 2010 es ADO.Net Data Services que proporciona un servicio WCF REST llamado ListData.svc, el cual nos ofrece en formato ATOM todos los datos de las listas de SharePoint.

Para comprobar que SharePoint 2010 es capaz de proporcionar datos vía Data Feed accedemos a http://mysitecollecion/_vti_bin/ListData.svc entonces debemos de ver un XML con todas las listas:


NOTA: Este servicio WCF REST nos viene instalado en SharePoint independientemente de si tenemos instalado PowerPivot para SharePoint, lo único que cuando tenemos PowerPivot para SharePoint desde las configuraciones de las listas se nos ofrece la opciçón “Export as Data Feed” que nos proporciona la url de dicho servicio para una lista en particular.

Una vez que tenemos funcionando el servicio de Data Feed de SharePoint 2010, entonces ya podemos usar PowerPivot para Excel para importar datos desde SharePoint para ello:

1. Obtenemos el fichero .atomsvc que nos dará la cadena de conexión. Para ello vamos a la lista de SharePoint y desde la pestaña “Lists”, pulsamos en “Export as Data Feed”.

Esta opción nos genera un fichero .atomsvc con este formato:

<?xml version="1.0" encoding="utf-8"?>
<app:service xmlns:a10="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app">
<app:workspace>
<app:collection href="http://ejemplo/soporte/_vti_bin/ListData.svc/Ocupaci%C3%B3nPorRecurso">
<a10:title type="text">Ocupación por recurso</a10:title>
</app:collection>
</app:workspace>
</app:service>

Si nos fijamos dentro del atomsvc tenemos la URL hacia el servicio REST ListData.svc y el título de la Lista de SharePoint.


2. Una vez tenemos el fichero .atomsvc, en la ventana de PowerPivot, pulsamos en en boton “From Data Feeds”:

En el campo Data Feed Url ponemos:

- La URL del Servicio REST con el formato http://sitecollection/_vti_bin/ListData.svc/NombreLista, en nuestro caso http://test/_vti_bin/ListData.svc/Ocupacionporrecurso.


3. Autenticación

Autenticación Básica en SharePoint
La forma más fácil y rápida de acceder a un Data Feed con PowerPivot para Excel es usando autenticación básica. Esta se puede configurar desde el IIS Manager en el servidor front-end de SharePoint.

En nuestro caso en concreto, utilizaremos Autenticación SSPI




NOTA: Si hemos puesto directamente la URL estará relleno el campo Base URL, si hemos usado el atomsvc entonces estará configurado el campo Service Document Url con la ruta de dicho atomsvc.

No hay comentarios:

Publicar un comentario