Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Aggiornamento dei parametri del report in base alla selezione dei parametri? (SSRS)

Funziona automaticamente se ordini correttamente i parametri e i set di dati

  • In primo luogo, imposta un set di dati primario (report), quindi un set di dati per ogni menu a discesa dei parametri. Codifica il WHERE clausola nei set di dati per correggere le dipendenze tra le variabili parametro
  • In secondo luogo, ordina i tuoi parametri nel Report | Menu dei parametri in modo che il primo la variabile/parametro che si desidera che l'utente compili si trova in alto e fa in modo che il secondo set di dati dipenda da quel parametro. Segui questo ordinamento attraverso i parametri; i parametri finali dovrebbero essere quelli da cui dipende il set di dati del report effettivo.
  • Ripeti per i parametri successivi

Funzionerà se il tuo WHERE La clausola nel secondo set di dati e in quelli successivi contiene variabili che SSRS sa essere popolate da parametri precedenti.

Ad esempio, ho tre set di dati dei venerabili pubs database (campione nel 2000).

pubslist viene utilizzato per popolare il parametro @p e si presenta così:

 select pub_id, pub_name from publishers

titleslist popola il parametro @t e ha il seguente aspetto:

 select title_id, title from titles where pub_id = @p

Infine, reportdataset assomiglia a questo:

 select title, price, ytd_sales from titles where title_id = @t

L'ordine dei parametri nel Report | Report Parameters il menu è fondamentale; poiché i set di dati devono essere eseguiti nell'ordine mostrato sopra e il parametro @t si trova in un set di dati che si basa sul parametro @p impostato per primo, spostiamo @p all'inizio dell'elenco.

Ora, SSRS valuta il set di dati necessario per riempire il menu a discesa per il primo parametro con le etichette. Si basa su un set di dati che non necessita di un parametro, quindi può essere prodotto immediatamente.

Quindi, dopo aver ottenuto quel valore di parametro, può popolare il menu a discesa del secondo parametro. Ciò a sua volta comporta la produzione del rapporto.