Magazine

Query con parametri dinamici in Reporting Services

Andrea Dottor

27/09/2006

Il tip illustra come aggiungere parametri dinamici ad un report per customizzarne l'output

0%100%
per esprimere un voto รจ necessario registrarsi al sito

 

Può capitare di realizzare un report dinamico, che abbia bisogno di ricevere i dati da un metodo cha abbia diversi argomenti. Per ogni argomento del metodo si dovrà passare un parametro che andrà ad aggiungersi alla query di chiamata. Per fare ciò, si devono creare dei Report Parameters, uno per ogni argomento del metodo. Per crearli, dobbiamo andare nella finestra Reports Parameters che è accessibile dal menù Report di Visual Studio.  Un'impostazione che vorrei evidenziare è il flag Hidden, che nel caso non venisse settato renderebbe il parametro visibile e modificabile anche dalla tollbar del ReportViewer.

Una volta creati i Report Parameters si devono creare i Parameter che finiranno nella query per il recupero dei dati. Nella finestra dove viene settata la query è presente un tab chiamato Parameters, da dove è possibile aggiungerli. Per rendere dinamici questi parametri si deve porre come Name del parametro il nome dell'argomento del metodo corrispondente e come Value il valore del Report Parameter appositamente creato.

es:
Name --> Arg 
Value --> =Parameters!TestParameter.Value

Creati anche questi parametri, sarà possibile chiamare il report appena creato aggiungendo nell'url un carattere "&"  (e commerciale) seguito dal nome del parametro (Report Parameter) e dal rispettivo valore, e questo per ogni parametro creato.

es:
...&TestParameter=pippo
url: ...ReportViewer.aspx?/ReportsCustomObject/XmlReport&rs:Command=Render&TestParameter=pippo

Questo sistema è valido anche nel caso volessimo filtrare i dati ricevuti dall'esecuzione della query. Richiamare i report passando dei parametri dinamici ha il vantaggio di rendere i reports più flessibili e aggiunge la possibilità di visualizzare dati differenti (solo come valore, non come struttura) sfruttando un'unica fonte dati.

Commenti
Nome

Sito web
Commento


indietro