Blog de los hermanos Marchena Sekli - Tecnología Microsoft, música y mucho mas!

Combinando Excel Services y Query String Filters

Recientemente un cliente presentó un requerimiento interesante a ser aplicado sobre SharePoint 2007. El reto en este cliente es que no se permite usar código que extienda la solución, por lo tanto me las tuve que ingeniar para utilizar la funcionalidad Out of the box de MOSS 2007 y explotar sus beneficios.

El requerimiento básicamente consistía en mostrar reportes gráficos en la web, que mostraban los resultados de evaluaciones realizadas a los empleados de la organización. Los resultados de las evaluaciones residen en una base de datos de SQL y se actualizan anulamente.

Inmediatamente pense en emplear Excel para generar reportes avanzados en base a la data almacenada en SQL. Posteriormente este reporte debería ser publicado en SharePoint y mediante Excel Services, visualizarlo a través de un site. Finalmente, se debería poder consultar en base a el código del empleado el gráfico correspondiente.

Aquí se empezaron a presentar los retos:

1. En base a una serie de combinaciones de VLOOKUP y empleando una Celda para especificar el código del empleado, logré generar el grafico dinámico, sin embargo al publicarlo se mostró el error de Query Table, not supported. Para resolverlo empleé la herramienta presentada en este blog:  http://blogs.msdn.com/b/cumgranosalis/archive/2006/11/27/another-tool-for-working-around-excel-services-not-supporting-querytable.aspx.

2. Lo siguiente fue, ver la manera de poder filtrar por código de empleado y mostrar el gráfico correspondiente. Como lo resolví? lo veremos en este post.

El resultado final es el siguiente:

a) Se muestra el gráfico. 

 

b) En la url empleo el parámetro de filtro y especifico el valor a ver.

c) Automáticamente se muestra el gráfico correspondiente al filtro.

PASOS DE CONFIGURACIÓN:

1. Primero debemos establecer la conexión con la BD de SQL y guardar esta conexión en una Biblioteca de conexiones.

2. A continuación crear nuestra tabla en base a la conexión previamente creada.

3. Dar doble clic sobre la macro que descargamos del enlace especificado al inicio del post.

 4. Habilitar la macro.

5. Convertir la tabla a un modo soportado por Excel Services.

6. Especificar una Celda donde ingresaremos el valor del código del empleado. Armar nuestra tabla en base a fórmulas VLOOKUP y construir nuestro gráfico.

7. Publicar el Excel.

8. Especificar el parametro que será empleado. Esta deberá ser la celda donde especificaremos el valor de búsqueda (Esta celda debe tener un nombre).

9. Seleccionar el gráfico que deseamos publicar.

10. Insertar el Excel Web Access WebPart y un Query string Filter WebPart. En el Query string filter WebPart especificar como nombre de parámetro el nombre de la celda empleada en el Excel Services.

11. Conectar los 2 WebParts.

 

12. Especificar el parámetro filtrado. 

Y listo!!! Ahora solo deben crear la cadena (url) especificando el parámetro que deseen y en base a esto lograremos el efecto de filtro.

Posted: 28/7/2012 1:38 por Piero Marchena | con no comments
Comparte este post: