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.

-
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) >= 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>
Y hasta aquí llega este primer post sobre creación de KPIs en SharePoint 2010.
Comparte este post: