Funzione Previous (Reporting Services)
Restituisce il valore o il valore di aggregazione specificato per l'istanza precedente di un elemento all'interno dell'ambito specificato.
Sintassi
Previous(expression, scope)
Parametri
expression
(Variant o Binary) Espressione che identifica il valore da recuperare, ad esempio Fields!Fieldname.Value o Sum(Fields!Fieldname.Value).scope
(String) Facoltativo. Nome di un gruppo o di un'area dati oppure valore Null (Nothing in Visual Basic) che specifica l'ambito da cui recuperare il valore precedente specificato da expression. Per ulteriori informazioni sul parametro scope, vedere Utilizzo delle funzioni predefinite di report e aggregazione nelle espressioni (Reporting Services).
Tipo restituito
Restituisce un valore Variant o Binary.
Osservazioni
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. Se expression contiene una funzione di aggregazione che utilizza un ambito predefinito, Previous aggrega i dati nell'istanza precedente dell'ambito dati specificato nella chiamata alla funzione di aggregazione. 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 alla funzione di aggregazione.
In un gruppo di dettagli utilizzare Previous per specificare il valore di un riferimento di campo nell'istanza precedente della riga di dettaglio. I riferimenti di campo sono supportati solo nel gruppo di dettagli. Per una casella di testo nel gruppo di dettagli, ad esempio, =Previous(Fields!Quantity.Value) restituisce i dati per il campo Quantity dalla riga precedente. Nella prima riga questa espressione restituisce Null (Nothing in Visual Basic).
In gruppi diversi dai gruppi di dettagli utilizzare Previous con una funzione di aggregazione, ad esempio First o Last, che indica un'istanza di gruppo specifica. In una casella di testo in un gruppo di righe basato su =Fields!Year.Value, ad esempio, =Previous(First(Fields!Year.Value)) restituisce l'anno per la prima istanza del gruppo relativo all'anno.
Le funzioni Level, InScope, Aggregate e Previous non possono essere utilizzate nel parametro expression. Non è possibile specificare il parametro recursive per una funzione di aggregazione.
Esempi
Descrizione
L'esempio di codice seguente, se inserito nella riga dei dati di dettaglio di un'area dati, fornisce il valore per il campo LineTotal nella riga di dettagli precedente.
Codice
=Previous(Fields!LineTotal.Value)
Descrizione
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. L'espressione viene aggiunta in una riga di una cella che appartiene al gruppo figlio GroupbyDay. Il gruppo padre è GroupbyMonth, che dispone di un gruppo padre GroupbyYear. L'espressione visualizza i risultati per GroupbyDay (ambito predefinito), quindi per GroupbyYear (elemento padre del gruppo padre GroupbyMonth).
Ad esempio, per un'area dati con un gruppo padre denominato Year che ha un gruppo figlio denominato Month che a sua volta ha un gruppo figlio denominato Day (3 livelli nidificati). 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.
Codice
=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")
Vedere anche
Concetti
Cronologia modifiche
Contenuto aggiornato |
---|
Il valore precedente per un riferimento di campo è valido solo in un gruppo di dettagli. |