Reporting Services 2008: variabili di report

Published 18 aprile 08 08.21 | abenedetti

Scenario: abbiamo un report con N pagine e, in ciascun report, vogliamo visualizzare, all'interno di una textbox, la data (gg/mm/aaaa hh:mm:ss) di esecuzione.

In realtà vogliamo che il valore della textbox sia identico su ognuna delle pagine.

La difficoltà della nostra soluzione sta nel fatto che, ogni volta che apriamo (sfogliamo) una nuova pagina, il valore della textbox (definito come espressione sulla funzione now()), viene ricalcolato. Ovvero: ci mostra il momento attuale di visualizzazione della pagina, non il momento in cui abbiamo aperto il report (la pagina numero 1).

image

I reporting services 2008 introducono un nuovo oggetto, che può tornare utile in scenari come questo: le variabili.

Ovvero sono in grado di creare una variabile, di associare il suo valore all'espressione fino ad ora utilizzata nel footer del report e legare la textbox (del footer) alla variabile stessa.

Per riferirci alle nostre variabili andremo ad utilizzare la stessa sintassi che utilizziamo per oggetti globali, ovvero:

=Variables!nomeDellaMiaVariabile.Value

 

Per gestire le variabili è sufficiente aprire le proprietà del report, come mostrato in figura:

image

Unica nota dolente: ad oggi, all'interno della finestra di Expression, all'interno delle varie categorie (constants, globals, parameters, ...) non ci sono ancora le variabili (e quindi devo ricordarmi e scrivere a mano).

image

Speriamo di averle prima della RTM :-)

Comments

# tekna said on settembre 9, 2008 11.12 :

Come faccio a passare la variabile da vb?

Grazie

# abenedetti said on settembre 9, 2008 12.09 :

Non puoi interagire direttamente.

Però puoi definire un parametro sul report ed impostare il valore della variabile uguale a quello del parametro.

Quindi, da VB, vai semplicemente a passare il primo così che la variabile venga valorizzata con il valore che vuoi.

This Blog

Syndication