Puede usar los modelos de PowerPivot de SQL Server "Denali" como orígenes de datos de PerformancePoint 2010

Artículo original publicado el jueves, 22 de diciembre de 2011

Dado que SQL Server Denali ha llegado al espacio de descarga público, varias personas han tratado de usarlo para crear modelos de PowerPivot como orígenes de datos para PerformancePoint 2010. ¿Y por qué no deberían hacerlo? PerformancePoint trabaja bien en el escenario donde especifica la referencia a un modelo de PowerPivot en la cadena de conexión de orígenes de datos para un origen de datos de Analysis Services.

El problema

Sin embargo, casi todos los usuarios de tecnología punta han señalado de manera adecuada que algo fundamentalmente se rompe al probar este mismo escenario con un libro PowerPivot basado en RCO Denali. Hay varios motivos para esto, que trato a continuación. El error que aparece en el registro de evento indica que el proveedor instalado y existente es demasiado antiguo. Y eso es cierto si está ejecutando una instalación de SharePoint 2010 SP1 estándar. El error que la mayoría de las personas han estado viendo es este:

Detalles de excepción: Microsoft.AnalysisServices.AdomdClient.AdomdUnknownResponseException: Formato de datos no admitido: application/vnd.ms-excel.12

La buena noticia es que existe una solución.

La solución

La manera más sencilla de hacer que trabaje este escenario es instalar el proveedor de datos ADOMD.Net (versión 10.5) en su granja de servidores de SharePoint. Puede obtenerlo descargándolo desde el Feature Pack para SQL Server 2008 R2 SP1  (asegúrese de que descarga la versión adecuada para su arquitectura de servidor). La versión 10.5 de este proveedor es compatible con versiones anteriores con la nueva versión 11.0. Y como es una versión secundaria, sobrescribirá el proveedor de la versión 10.0, que es la versión principal que PerformancePoint busca en tiempo de ejecución. Esta noción posterior explica la alerta que el instalador genera cuando comienza la instalación. Continúe y haga clic en "Sí".

El detalle

Usaré el ejemplo de una granja de servidores 1M en este caso. El instalador de requisito previo de SharePoint instalará las versiones 2005 y 2008 de ADOMD.Net. De esta manera se asegura que las conexiones de datos de Analysis Services vienen listas para funcionar sin problemas. Si miramos en Agregar o quitar programas en el servidor de SharePoint, verá las versiones del proveedor. La versión 10.1 es la que usará PerformancePoint al conectarse al libro PowerPivot cuando lo use como origen de datos.

Al instalar SQL Server Denali, instalará el proveedor de datos de ADOMD de la versión 11.0. Puede ver esto también mirando la lista de ensamblados en el servidor.

El problema es que no hay ninguna directiva que indique a la solicitud que use la versión más reciente del proveedor y PerformancePoint está buscando de manera específica la versión principal 10. Por tanto, la versión 11.0 está ahí sola y sin usar. Sin embargo, al instalar el cliente de ADOMD versión 10.5, las cosas funcionan porque dicha versión es compatible con los modelos de PowerPivot más recientes, y PerformancePoint todavía está feliz porque ve la versión 10, justo de la manera que lo espera. A diferencia de las versiones principales del proveedor, que existen en paralelo, las versiones secundarias se sobrescriben entre si, razón por la cual PerformancePoint capta la correcta incluso después de sobrescribir la versión 10.1 con la versión 10.5. Por tanto, tras la instalación de la actualización del SP1 de SQL Server 2008 R2, cuando mire en la lista en Agregar o quitar programas, verá lo siguiente:

 Una vez que haya actualizado el proveedor, PerformancePoint debería poder conectarse al libro PowerPivot como espera.

Hay varias notas aquí. En primer lugar, observe que el nombre del cubo, como lo interpreta PerformancePoint, se denomina ahora "Modelo". Puede recordar que se denomina "Espacio aislado" para los modelos de PowerPivot 2010. En segundo lugar, la mayor parte de la documentación publicada indica que tiene que agregar la propiedad PROVIDER a la cadena de conexión de PerformancePoint, como lo siguiente: PROVIDER=MSOLAP;DATA SOURCE=https://contoso/Documents/PowerPivot_Sample.xlsx. Esta cadena es algo redundante; no hay necesidad de establecer la propiedad provider porque el proveedor es adomd.net. Y adomd.net creará el objeto de acceso de datos correcto sin que el usuario tenga que especificar MSOLAP para conectarse al origen de datos.

Kevin Donovan
Director de programas, inteligencia empresarial de Office

Esta entrada de blog es una traducción. Puede consultar el artículo original en You Can Use SQL Server "Denali" PowerPivot Models as PerformancePoint 2010 Data Sources