Funzioni Generatore report - Funzione Previous in un report impaginato (Generatore report)
Si applica a: Generatore di report Microsoft (SSRS) Power BI Report Builder Report Designer in SQL Server Data Tools
Restituisce il valore o il valore di aggregazione specificato per l'istanza precedente di un elemento all'interno dell'ambito specificato in un report impaginato.
Nota
È possibile creare e modificare file di definizioni di report impaginati (con estensione rdl) in Generatore report di Microsoft, Power BI Report Builder e Progettazione report di SQL Server Data Tools.
Sintassi
Previous(expression, scope)
Parametri
expression
(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)
.
ambito
(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.
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 in expression non è contenuta un'aggregazione, la funzione Previous viene impostata per impostazione predefinita sull'ambito corrente per l'elemento del report.
In un gruppo di dettagli usare Previous per specificare il valore di un riferimento di campo nell'istanza precedente della riga di dettaglio.
Nota
La funzione Previous supporta solo i riferimenti di campo nel gruppo di dettagli. 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. Nella prima riga tramite questa espressione viene restituito un valore Null (Nothing in Visual 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.
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.
Le funzioni Level, InScope, Aggregate e Previous non possono essere usate nel parametro expression. Non è possibile specificare il parametro recursive per una funzione di aggregazione.
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).
Esempi
Descrizione
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.
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 a 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 annidati). 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")