SSRS 2008 R2: Algunas novedades (II)!

Siguiendo el orden de algunas de las novedades de SQL Server Reporting Services 2008 R2 que resumí en este post, en esta ocasión vamos a comentar algunas de las novedades en lo que al uso del lenguaje de expresiones de SSRS 2008 R2 se refiere. Entre las mismas tenemos las siguientes novedades:

  • Funciones de lookup, SSRS 2008 R2 incorpora tres nuevas funciones de lookup que permiten combinar datos de dos datasets diferentes que tengamos definidos para crear nuestro informe. Estas funciones nos permiten localizar datos a partir valores coincidentes en dos datasets diferentes. Las funciones disponibles son:
    • Lookup, para localizar datos en base a relaciones 1 a 1 entre los dos datasets.
    • MultiLookup, también para relaciones uno a uno entre los dos datasets. La diferencia con la función anterior es que como entrada a la función se utiliza un conjunto de valores que SSRS 2008 R2 busca en el dataset de destino y se devuelve un array de datos del mismo.
    • Lookupset, para relaciones 1 a N entre los dos datasets. En este caso la entrada es un único valor y se obtiene como salida un array e valores del destino.
   1: =Lookup(<Field1_Key>, <Field2_Key>, <Field_Return>, "Dataset2")

  • Agregación de agregaciones, es decir, se puede utilizar el resultado de una función de agregación como entrada de otra función de este tipo. Además, podemos se puede ordenar por valores agregados. Por ejemplo, combinar las funciones Sum() y Avg() implicaría una expresión como la que sigue:
   1: =Avg(Sum(Fields!SalesAmount.Value,"EnglishMonthName"), "CalendarYear")

  • Expresiones condicionales según el formato de renderizado, a través de la variable global RenderFormat podemos controla el aspecto de un informe dependiendo de la extensión (formato) de renderizado a utilizar. El uso normal de esta variable sería el siguiente:

image

 

  • Nuevas variables para tener una cuenta global del número actual y total de páginas de un informe. Estas variables son OverallPageNumber y OverallTotalPages y están definidas en la colección Globals que engloba a todas las variables globales de SSRS como bien sabéis. Ni que decir tiene, que estas variables sólo se puedne usar en la cabecera o pie de página del informe. Un ejemplo de uso de estas nuevas variables sería el siguiente:

image

  • Escritura/Lectura de una variable de informe, SSRS 2008 R2 permite especificar el valor de una variable del informe (no soportado en versiones previas) utilizando el método SetValue de dicha variable.
   1: =Variables!MyVariable.SetValue(Now())

Y hasta aquí llega este segundo post sobre novedades de SRRS 2008 R2.