Blog del CIIN

Blog del Centro de Innovación en Integración de Cantabria

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

SharePoint 2010: Creación de KPIs (I)

SharePoint 2010 es sin duda una plataforma perfecta sobre la que añadir elementos que faciliten la toma de decisiones empresariales. Entre estos elementos que simplifican esta toma de decisiones, tenemos los indicadores claves de rendimientos más conocidos como KPIs que nos permiten de un sólo vistazo como de bien o mal estamos en aspectos claves para una organización. A la hora de crear KPIs en SharePoint 2010 tenemos varias posibilidades:

  • Mediante la DataFormWebPart y un poco de XSLT, de forma similar a lo que ya teníamos para SharePoint 2007:
  • Mediante SSRS 2008 R2 integrado con SharePoint 2010.
  • Utilizando los KPIs que de forma nativa incorpora SharePoint Server 2010.
  • Creando KPIs con PerformancePoint, capacidad sólo disponible en SharePoint Server 2010.

De todas las opciones que os he comentado, las dos primeras están disponibles tanto para SharePoint Foundation como para SharePoint Server 2010. En este primer post vamos a ver como podemos crear un KPI con la DataFormWebPart y un poco de XSLT:

  • Creamos una lista de ejemplo que nos permita modelar los KPIs.
  • Nos vamos a SharePoint Designer 2010 (SPD 2010) y creamos una página de WebParts en el sitio. En una de las zonas de la página, insertamos una vista de datos a través de la opción correspondiente de la Ribbon. Si la vista de datos se basa en una lista (como es el caso) se genera una XsltListViewWebPart. La eliminamos.
image image image
  • A través del panel “Detalles del origen de datos”, insertamos en la página los campos de la lista que nos interesan de forma que ahora si se genera una DataFormWebPart.

image

  • Añadimos una nueva columna a la vista de datos utilizando los menús visuales disponibles. En la vista de código de la página, buscamos el código que se ha generado para la DataFormWebPart y localizamos la sección en la que tenemos las columnas correspondientes a la cabecera de la vista de datos (etiqueta <th>). Añadimos una nueva línea de cabecera correspondiente a la nueva columna añadida y que identifica el KPI.
   1: <tr valign="top">
   2:     <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
   3:         <th class="ms-vh" width="1%" nowrap="nowrap"></th>
   4:     </xsl:if>
   5:     <th class="ms-vh" nowrap="nowrap" style="text-align: center">Título</th>
   6:     <th class="ms-vh" nowrap="nowrap" style="text-align: center">Valor</th>
   7:     <th class="ms-vh" nowrap="nowrap" style="text-align: center">Objetivo</th>
   8:     <th class="ms-vh" nowrap="nowrap" style="text-align: center">Evolucion</th>
   9: </tr>
  • Lo siguiente que tenemos que hacer es localizar dentro del código de la DataFormWebPart la parte correspondiente a la generación dinámica de las celdas de contenido en base al origen de datos. Esta parte la podremos encontrar en una porción de código XSL identificado por <xsl:template name=”dvt_1.rowview”>. Si inspeccionamos el código XSL, podremos localizar como se están añadiendo los valores de cada fila de datos de la vista.
  • Siguiendo la misma filosofía, añadimos en la celda que identifica a nuestro KPI el código XSL que nos permita simular el KPI. En este caso, utilizaremos la etiqueta <xsl:choose> que nos permite bajo una cierta condición especificar el valor o imagen (en este caso) a mostrar).
   1: <xsl:template name="dvt_1.rowview">
   2:     <tr>
   3:         <xsl:if test="position() mod 2 = 1">
   4:             <xsl:attribute name="class">ms-alternating</xsl:attribute>
   5:         </xsl:if>
   6:         <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
   7:             <td class="ms-vb" width="1%" nowrap="nowrap">
   8:                 <span ddwrt:amkeyfield="" ddwrt:amkeyvalue="ddwrt:EscapeDelims(string(''))" ddwrt:ammode="view"></span>
   9:             </td>
  10:         </xsl:if>
  11:         <td align="center" class="ms-vb">
  12:             <xsl:value-of select="@Title"/>
  13:         </td>
  14:         <td align="center" class="ms-vb">
  15:             <xsl:value-of select="@Valor"/>
  16:         </td>
  17:         <td align="center" class="ms-vb">
  18:             <xsl:value-of select="@Objetivo"/>
  19:         </td>
  20:         <td align="center" class="ms-vb">                
  21:  
  22:       <xsl:choose>
  23: <xsl:when test="number(@Valor) &gt;= number(@Objetivo)"><img src="/_layouts/images/Green_icon.png" alt="Vamos bien"></img></xsl:when><xsl:otherwise ><img src="/_layouts/images/Red_icon.png"  alt="Vamos mal"></img></xsl:otherwise>                   
  24: </xsl:choose>
  25:  
  26:     
  27:         </td>
  28:  
  29:     </tr>
  30: </xsl:template>
  • Finalmente, guardamos los cambios realizados hasta el momento y comprobamos en la visualización de la página que el KPI se genera de forma correcta.

 

image image

Y hasta aquí llega este primer post sobre creación de KPIs en SharePoint 2010.

Published 12/1/2011 23:35 por Juan Carlos González Martín

Comparte este post:

Comentarios

# SharePoint 2010: Resumen de posts (XV)!@ Tuesday, February 01, 2011 10:45 PM

Como siempre, después del recopilatorio de enlaces interesantes sobre SharePoint 2010, os dejo el resumen

Blog del CIIN

# SharePoint 2010: Integración con SSRS, con PPS, Servicios de Visio, …¿cuándo uso cada cuál?@ Monday, November 28, 2011 11:15 PM

Como sabéis, uno de los pilares de la plataforma SharePoint es el denominado “Insights o perspectivas

Blog del CIIN

# SharePoint 2010: Creación de KPIs (II)!@ Sunday, December 11, 2011 7:06 PM

La segunda aproximación para crear KPIs en SharePoint 2010 (podéis ver el primer post de la serie en

Blog del CIIN

# SharePoint 2010: Creación de KPIs (III)!@ Saturday, October 06, 2012 5:01 PM

El siguiente nivel en lo que a creación de KPIs se refiere viene dado por la posibilidad de crear

Blog del CIIN

# SharePoint 2010: Creación de KPIs (IV)!@ Saturday, October 13, 2012 9:50 AM

El último nivel, y desde mi punto de vista el más flexible y rico, en lo que a creación

Blog del CIIN