Condividi tramite


Funzione Previous (Generatore report e SSRS)

Restituisce il valore o il valore di aggregazione specificato per l'istanza precedente di un elemento all'interno dell'ambito specificato.

Nota

È possibile creare e modificare definizioni del report (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati. Per altre informazioni, vedere Progettazione di report in Progettazione report e Report Builder (SSRS) sul Web in microsoft.com.

Sintassi

  
Previous(expression, scope)  

Parametri

expression
(Variant o Binary) Espressione da utilizzare 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 o null (Nothing in Visual Basic), che specifica l'ambito da cui recuperare il valore precedente specificato dall'espressione.

Tipo restituito

Restituisce un valore Variant o Binary.

Commenti

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 l'espressione non contiene un'aggregazione, per impostazione predefinita la Previous funzione corrisponde all'ambito corrente per l'elemento del report.

In un gruppo di dettagli utilizzare Previous per specificare il valore di un riferimento di campo nell'istanza precedente della riga di dettaglio.

Nota

La Previous funzione supporta solo i riferimenti ai campi nel gruppo dei 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, questa espressione restituisce un valore Null (Nothing in Visual Basic).

Se expression contiene una funzione di aggregazione che usa un ambito predefinito, Previous aggrega i dati all'interno dell'istanza precedente dell'ambito 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 Previous funzione deve essere un ambito contenitore per l'ambito specificato nella chiamata di funzione di aggregazione.

Le funzioni Level, InScopeAggregate e Previous non possono essere usate nel parametro dell'espressione. 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 Yearche ha un gruppo figlio denominato Monthche 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")  

Vedere anche

Utilizzo delle espressioni nei report (Generatore report e SSRS)
Esempi di espressioni (Generatore report e SSRS)
Tipi di dati nelle espressioni (Generatore report e SSRS)
Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)