Funzioni di Generatore report - Funzione PreviousReport Builder Functions - Previous Function

Restituisce il valore o il valore di aggregazione specificato per l'istanza precedente di un elemento all'interno dell'ambito specificato.Returns the value or the specified aggregate value for the previous instance of an item within the specified scope.

Nota

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

SintassiSyntax


Previous(expression, scope)  

ParametriParameters

espressioneexpression
(Variant o Binary) Espressione da usare per identificare i dati e per cui recuperare il valore precedente, ad esempio Fields!Fieldname.Value o Sum(Fields!Fieldname.Value).(Variant or Binary) The expression to use to identify the data and for which to retrieve the previous value, for example, Fields!Fieldname.Value or Sum(Fields!Fieldname.Value).

ambitoscope
(String) Facoltativo.(String) Optional. Nome di un gruppo o di un'area dati oppure valore Null (Nothing in Visual BasicVisual Basic) che specifica l'ambito da cui recuperare il valore precedente specificato da expression.The name of a group or data region, or null (Nothing in Visual BasicVisual Basic), that specifies the scope from which to retrieve the previous value specified by expression.

Tipo restituitoReturn Type

Restituisce un valore Variant o Binary.Returns a Variant or Binary.

OsservazioniRemarks

La funzione Previous restituisce il valore precedente per l'espressione valutata nell'ambito specificato dopo l'applicazione di tutti i criteri di ordinamento e di filtro.The Previous function returns the previous value for the expression evaluated in the specified scope after all sorting and filtering have been applied.

Se in expression non è contenuta un'aggregazione, la funzione Previous viene impostata per impostazione predefinita sull'ambito corrente per l'elemento del report.If expression does not contain an aggregate, the Previous function defaults to the current scope for the report item.

In un gruppo di dettagli usare Previous per specificare il valore di un riferimento di campo nell'istanza precedente della riga di dettaglio.In a details group, use Previous to specify the value of a field reference in the previous instance of the detail row.

Nota

La funzione Previous supporta solo i riferimenti di campo nel gruppo di dettagli.The Previous function only supports field references in the details group. Ad esempio, per una casella di testo nel gruppo di dettagli, tramite =Previous(Fields!Quantity.Value) vengono restituiti i dati per il campo Quantity dalla riga precedente.For example, in a text box in the details group, =Previous(Fields!Quantity.Value) returns the data for the field Quantity from the previous row. Nella prima riga tramite questa espressione viene restituito un valore Null (Nothing in Visual BasicVisual Basic).In the first row, this expression returns a null (Nothing in Visual BasicVisual Basic).

Se in expression è contenuta una funzione di aggregazione in cui viene usato un ambito predefinito, Previous consente di aggregare i dati nell'istanza precedente dell'ambito dati specificato nella chiamata di funzione di aggregazione.If expression contains an aggregate function that uses a default scope, Previous aggregates the data within the previous instance of the scope specified in the aggregate function call.

Se expression contiene una funzione di aggregazione che specifica un ambito diverso da quello predefinito, il parametro scope per la funzione Previous deve essere un ambito di contenuto per l'ambito specificato nella chiamata di funzione di aggregazione.If expression contains an aggregate function that specifies a scope other than the default, the scope parameter for the Previous function must be a containing scope for the scope specified in the aggregate function call.

Le funzioni Level, InScope, Aggregate e Previous non possono essere usate nel parametro expression.The functions Level, InScope, Aggregate and Previous cannot be used in the expressionparameter. Non è possibile specificare il parametro recursive per una funzione di aggregazione.Specifying the recursive parameter for any aggregate function is not supported.

Per altre informazioni, vedere Riferimento a funzioni di aggregazione (Generatore report e SSRS) e Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS).For more information, see Aggregate Functions Reference (Report Builder and SSRS) and Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS).

EsempiExamples

DescriptionDescription

L'esempio di codice seguente, se inserito nella riga di dati predefinita di un'area dati, fornisce il valore per il campo LineTotal nella riga precedente.The following code example, when placed in the default data row of a data region, provides the value for the field LineTotal in the previous row.

CodiceCode

=Previous(Fields!LineTotal.Value)  

DescriptionDescription

Nell'esempio seguente è illustrata un'espressione che calcola la somma delle vendite in un giorno del mese specifico e il valore precedente relativo allo stesso giorno del mese in un anno precedente.The following example shows an expression that calculates the sum of sales on a specific day of the month and the previous value for that day of the month in a previous year. L'espressione viene aggiunta a una riga di una cella che appartiene al gruppo figlio GroupbyDay.The expression is added to a cell in a row that belongs to the child group GroupbyDay. Il gruppo padre è GroupbyMonth, che dispone di un gruppo padre GroupbyYear.Its parent group is GroupbyMonth, which has a parent group GroupbyYear. L'espressione visualizza i risultati per GroupbyDay (ambito predefinito), quindi per GroupbyYear (elemento padre del gruppo padre GroupbyMonth).The expression displays the results for GroupbyDay (the default scope) and then for GroupbyYear (the parent of the parent group GroupbyMonth).

Ad esempio, per un'area dati con un gruppo padre denominato Yearche ha un gruppo figlio denominato Monthche a sua volta ha un gruppo figlio denominato Day (3 livelli annidati).For example, for a data region with a parent group named Year, its child group named Month, and its child group named Day (3 nested levels). L'espressione =Previous(Sum(Fields!Sales.Value,"Day"),"Year") in una riga associata al gruppo Day restituisce il valore delle vendite per lo stesso giorno e mese dell'anno precedente.The expression =Previous(Sum(Fields!Sales.Value,"Day"),"Year") in a row associated with the group Day returns the sales value for the same day and month for the previous year.

CodiceCode

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

Vedere ancheSee Also

Utilizzo delle espressioni nei report (Generatore report e SSRS) Expression Uses in Reports (Report Builder and SSRS)
Esempi di espressioni (Generatore report e SSRS) Expression Examples (Report Builder and SSRS)
Tipi di dati nelle espressioni (Generatore report e SSRS) Data Types in Expressions (Report Builder and SSRS)
Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS)