WSS 3.0: Simulación de KPIs (II)!

Aunque en el post anterior conseguimos simular un KPI más o menos vistoso, podemos ir más allá e intentar simular un comportamiento similar al que nos da la funcionalidad de los KPIs de MOSS. Para ello, creamos en primer lugar una lista personalizada con las siguientes columnas:

  • Title (columna por defecto).
  • Value, de tipo número.
  • Goal, de tipo Número.

Añadimos un par de valores a la lista para probar posteriormente la funcionalidad de KPIs que vamos a simular. Una vez creada la lista, abrimos el sitio de Sharepoint con SharePoint Designer, nos vamos al menú Data View y pulsamos Insert Data View (este es otro camino para el uso de la Data Form Web Part). Los siguientes pasos que vamos a realizar son los siguientes:

  • Desde la ventana Data Source Library seleccionamos la lista creada con anterioridad y pulsamos Show Data.
image image image
  • Seleccionamos las columnas Title, Goal y Value. A continuación pulsamos sobre Insert Selected Fields as… y pulsamos Multiple Item View.
  • Si las columnas no aparecen ordenadas, las ordenamos a través del smart menú de la Data Form Web Part y la opción Edit Columns.

  • Nos aseguramos de que el orden de las columnas sea Title, Goal y Value.

image image image
  • Buscamos en la vista de código de nuestra página las siguientes etiquetas.

<th class=”ms-vh” nowrap=”nowrap”>Title</th>

<th class=”ms-vh” nowrap=”nowrap”>Goal</th>  

  • Añadimos una nueva fila para la columna KPI:

<strong><th class=”ms-vh” nowrap=”nowrap”>KPI</th></strong>  

  • Buscamos a continuación la siguiente sección de etiquetas:

<td class=”ms-vb”> 

                        <xsl:value-of select=”format-number(@Value, ‘#,##0.00;-#,##0.00’)”/>

</td>  

  • Debajo de estas etiquetas añadimos lo siguiente:

<td class=”ms-vb”> 

                      <img alt=”KPI Status Icon”> 

                    <xsl:attribute name=”src”> 

                  <xsl:choose> 

                                                               <xsl:when test=”number(@Value) &lt;= number(@Goal)”>/_layouts/images/KPI_Red.gif</xsl:when>                                                                                      <xsl:otherwise>/_layouts/images/KPI_Green.gif</xsl:otherwise>                  

</xsl:choose> 

                        </xsl:attribute> 

                        </img>

</td>  

  • Lo que hacemos es que en las celdas de la columna KPI se visualice una imagen u otra a partir de comparar los valores Value y Goal mediante una expresión XSLT (Nota: Hay que tener cuidado con los símbolos de tipo <,> ya que XSLT puede no tolerarlos. Lo mejor es utilizar siempre el código equivalente al símbolo. Por ejemplo, para < usaremos &lt;). Si guardamos los cambios, veremos que ya tenemos el KPI operativo en el entorno de SD 2007.
  • Refrescamos la página dónde estamos añadiendo los KPIs para comprobar su correcto funcionamiento.
image image

Y hasta aquí llega este segundo post sobre simulación e KPIS en WSS 3.0.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

4 comentarios en “WSS 3.0: Simulación de KPIs (II)!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *