Funciones del Generador de informes: función Previous en un informe paginado (Generador de informes)
Se aplica a: Generador de informes de Microsoft (SSRS) Power BI Report Builder Diseñador de informes en SQL Server Data Tools
Devuelve el valor o el valor agregado especificado para la instancia anterior de un elemento dentro del ámbito especificado en un informe paginado.
Nota
Puede crear y modificar los archivos de definición de informes paginados (.rdl) en el Generador de informes de Microsoft, en Power BI Report Builder y en el Diseñador de informes de SQL Server Data Tools.
Sintaxis
Previous(expression, scope)
Parámetros
expression
(Variant o Binary). Expresión que se usa para identificar los datos cuyo valor anterior se quiere 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 bien un valor NULL (Nothing en Visual Basic), que especifica el ámbito para el que se recuperará el valor anterior especificado por expression.
Tipo de valor devuelto
Devuelve un valor Variant o Binary.
Observaciones
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.
En un grupo de detalles, utilice Previous para especificar el valor de una referencia de campo en la instancia anterior de la fila de detalles.
Nota
La función Previous solo admite referencias de campo 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 un valor 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 se pueden usar en el parámetro expression. No se admite especificar el parámetro recursive para ninguna función de agregado.
Para más información, consulte Funciones del generador de informes - referencia de funciones de agregado (Generador de informes y SSRS) y Ámbito de expresión para los totales, agregados y colecciones integradas (Generador de informes y SSRS).
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")