Compartir a través de


Función Previous (Generador de informes 2.0)

Devuelve el valor o el valor agregado especificado para la instancia anterior de un elemento dentro del ámbito especificado.

Sintaxis

Previous(expression, scope)

Parámetros

  • expression
    (Variant o Binary). Expresión que se debe usar para identificar los datos cuyo valor anterior se desea recuperar; por ejemplo, Fields!Fieldname.Value o Sum(Fields!Fieldname.Value).

  • scope
    (String) (opcional). Nombre de un grupo o una región de datos o NULL (Nothing en Visual Basic), que especifica el ámbito para el que se debe recuperar el valor anterior especificado mediante expression. Para obtener más información acerca del parámetro scope, vea Usar las funciones de informe y de agregado integradas en expresiones (Generador de informes 2.0).

Tipo devuelto

Devuelve un valor Variant o Binary.

Notas

La función Previous devuelve el valor anterior para la expresión evaluada en el ámbito especificado después de aplicar todos los filtros y la configuración de ordenación.

Si expression no contiene un agregado, la función Previous tiene como valor predeterminado el ámbito actual del elemento de informe. Para un cuadro de texto del grupo de detalles, =Previous(Fields!Quantity.Value) devuelve los datos para el campo Quantity de la fila anterior. En la primera fila, esta expresión devuelve NULL (Nothing en Visual Basic). 

Si expression contiene una función de agregado que utiliza un ámbito predeterminado, Previous agrega los datos contenidos dentro de la instancia anterior del ámbito especificado en la llamada de la función de agregado.

Si expression contiene una función de agregado que especifica un ámbito distinto del predeterminado, el parámetro scope para la función Previous debe ser un ámbito contenedor para el ámbito especificado en la llamada a la función de agregado.

Las funciones Level, InScope, Aggregate y Previous no pueden usarse en el parámetro expression. No se admite especificar el parámetro recursive para ninguna función de agregado.

Ejemplos

Descripción

Cuando se coloca en la fila de datos predeterminada de una región de datos, el ejemplo de código siguiente proporciona el valor para el campo LineTotal de la fila anterior.

Código

=Previous(Fields!LineTotal.Value)

Descripción

En el ejemplo siguiente se muestra una expresión que calcula la suma de las ventas en un día concreto del mes y el valor anterior para ese día del mes del año anterior. La expresión se agrega a una celda de una fila que pertenece al grupo secundario GroupbyDay. Su grupo primario es GroupbyMonth, cuyo grupo primario es GroupbyYear. La expresión muestra los resultados para GroupbyDay (el ámbito predeterminado) y, a continuación, para GroupbyYear (el ámbito primario del grupo primario GroupbyMonth).

Por ejemplo, para una región de datos con un grupo primario denominado Year, su grupo secundario se denomina Month y su grupo secundario se denomina Day (3 niveles anidados). Si se sitúa la expresión =Previous(Sum(Fields!Sales.Value,"Day"),"Year") en una fila asociada al grupo Day, devuelve el valor de las ventas correspondiente al mismo día y mes del año anterior.

Código

=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")