Previous (función de Reporting Services)

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) La expresión que identifica el valor que se va a recuperar, por ejemplo, Fields!Fieldname.Value o Sum(Fields!Fieldname.Value).

  • scope
    (String) (opcional). El nombre de un grupo, 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 el parámetro expression. Para obtener más información acerca del parámetro scope, vea Usar las funciones de informe y de agregado integradas en expresiones (Reporting Services).

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 el parámetro 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 el parámetro expression contiene una función de agregado que especifica un ámbito distinto del predeterminado, el parámetro scope de la función Previous debe ser un ámbito contenedor para el ámbito especificado en la llamada a la función de agregado.

En un grupo de detalles, use Previous para especificar el valor de una referencia de campo en la instancia anterior de la fila de detalles. Las referencias de campo solo se admiten en el grupo de detalles. Por ejemplo, en 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).

En los grupos que no sean grupos de detalles, use Previous con una función de agregado como First o Last que indique una instancia de grupo específica. Por ejemplo, en un cuadro de texto de un grupo de filas basado en =Fields!Year.Value, =Previous(First(Fields!Year.Value)) devuelve el año para la primera instancia del grupo Year.

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

El ejemplo de código siguiente, cuando se coloca en la fila de datos detallados predeterminada de una región de datos, proporciona el valor para el campo LineTotal de la fila de detalles 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")

Historial de cambios

Actualización de contenido

El valor anterior para una referencia de campo solo es válida en un grupo de detalles.