Utilizzo dei parametri per controllare i dati del report

I parametri del report in genere filtrano i dati del report recuperati da un'origine dati. Il filtro dei dati all'origine consente di migliorare le prestazioni per l'elaborazione e la visualizzazione di un report. Nei casi in cui non è possibile filtrare i dati all'origine, è possibile utilizzare i parametri per filtrare i del report dati dopo che sono stati recuperati. È inoltre possibile ordinare e raggruppare i dati in un report in base ai relativi parametri.

Filtro dei dati nell'origine dei dati

Per filtrare i dati nell'origine dati, utilizzare i parametri della query del set di dati. Per ogni parametro della query, Reporting Services crea un parametro del report corrispondente. Quando l'utente seleziona i valori per il parametro del report, tali valori vengono passati alla query. Quando la query viene eseguita nell'origine dati, per il report vengono recuperati solo i valori specificati dall'utente. Le proprietà, ad esempio un prompt utente e i valori predefiniti, vengono applicate al parametro del report.

Parametri di query

I parametri del report vengono creati automaticamente quando si definiscono i parametri della query. In Generatore report i parametri del report vengono creati automaticamente quando si imposta un messaggio di richiesta in una clausola di filtro.

Quando si definisce un set di dati, si specifica un determinato tipo di origine dati, ad esempio MicrosoftSQL Server. In Progettazione report viene aperta una finestra Progettazione query progettata per gestire tale tipo di origine dati. Quando si definisce la query per ogni set di dati, la finestra Progettazione query identifica le variabili nel testo del comando della query e crea un parametro della query per ogni variabile. Le query con variabili non sono supportate da tutte le combinazioni di origine dati e provider di dati. Per ulteriori informazioni sulla sintassi della query prevista nell'origine dati, vedere Utilizzo di parametri di query con origini dati specifiche (Reporting Services).

Per un'origine dati di SQL Server, le variabili di una query sono in genere incluse nella clausola WHERE di un'istruzione Transact-SQL per limitare l'ambito dei dati restituiti durante l'esecuzione della query. Analogamente, una query sull'origine dati di Analysis Services solitamente include le variabili MDX utilizzate in una clausola FILTER. Le query possono inoltre includere variabili passate come input a stored procedure o a funzioni definite dall'utente.

Ogni volta che si modifica la query di un set di dati, la query viene rielaborata. Se si modifica una query rimuovendo o rinominando una variabile, i parametri di query verranno aggiornati in base a tali modifiche.

È possibile creare parametri aggiuntivi del set di dati nella pagina Parametri della finestra di dialogo Proprietà set di dati. I parametri creati non vengono modificati quando la query cambia.

Il valore predefinito di ogni parametro della query viene impostato su un'espressione che restituisce il parametro del report corrispondente. Per modificare i valori predefiniti, utilizzare la pagina Parametri della finestra di dialogo Proprietà set di dati. Ad esempio, per un'origine dati di SQL Server, se il parametro della query è @MyParameter, il parametro del report sarà MyParameter e il valore di @MyParameter sarà impostato sull'espressione [@MyParameter]. Per ulteriori informazioni, vedere Finestra di dialogo Proprietà set di dati, Parametri. Sarà quindi possibile modificare manualmente i parametri di query e impostarne i valori predefiniti. Per ulteriori informazioni, vedere Procedura: Associazione di un parametro di query a un parametro di report.

Per i parametri del report creati automaticamente vengono utilizzati i valori predefiniti seguenti:

  • Valore singolo

  • Tipo di dati Text.

  • Prompt impostato sul nome del parametro.

  • Nessun valore predefinito

  • Nessun valore disponibile

Può essere necessario modificare queste proprietà in base al tipo di dati rappresentato dal parametro della query. Per ulteriori informazioni, vedere Creazione dei parametri del report e impostazione delle relative proprietà.

[!NOTA]

Quando si rimuove o si modifica il nome di un parametro della query, il parametro del report corrispondente non verrà rimosso o modificato automaticamente. Se si rimuove un parametro della query e il parametro del report corrispondente non è necessario, occorre eliminarlo manualmente. Se si modifica il nome di un parametro della query, quando si salva la query verrà creato un nuovo parametro del report corrispondente al nome modificato. È possibile rinominare il parametro del report in base al nuovo nome del parametro della query, nonché aggiornare le proprietà del parametro del set di dati per collegare il parametro della query al parametro del report.

Parametri dipendenti o di propagazione

Quando si crea una query che utilizza più parametri, è possibile creare un set di parametri di propagazione. I parametri di propagazione consentono di filtrare un numero molto elevato di valori di parametri fino a un numero gestibile di valori. Si supponga ad esempio che una query includa i parametri @Category, @Subcategory e @Product, in cui l'elenco di sottocategorie dipende da @Category e l'elenco di prodotti dipende da @Subcategory. Quando un utente sceglie un valore per il parametro del report Category, i valori per Subcategory sono limitati ai valori validi per la categoria scelta. Dopo la selezione di un valore per Subcategory da parte dell'utente, le opzioni per Product sono già state filtrate dalla scelta di Category e Subcategory. Con questa tecnica, è possibile ridurre le opzioni valide per un parametro fino a un numero ragionevole di valori.

Per progettare parametri di propagazione, è necessario includere gli elementi seguenti nel report:

  • Query del set di dati principale, che include diversi parametri della query correlati.

  • Elenco ordinato di parametri del report, ognuno associato a un parametro della query. Solitamente, questi parametri vengono creati automaticamente dalla query principale. Ogni parametro dipendente deve seguire il parametro da cui dipende. L'ordine dei parametri può essere modificato nel riquadro Dati report, in cui è possibile spostare i parametri verso l'alto e verso il basso nella raccolta. Per ulteriori informazioni, vedere Procedura: Modifica dell'ordine di un parametro del report (Reporting Services).

  • Set di dati distinto per ogni parametro del report che fornisce i relativi valori disponibili. È importante utilizzare la stessa sequenza di caratteri con distinzione tra maiuscole e minuscole per ogni parametro della query, in modo da collegare correttamente i parametri della query e i parametri del report. La query per ogni set di valori disponibili per ogni parametro del report deve fornire solo valori significativi nel contesto della query principale.

Nell'esempio il parametro del report Product dipende da Subcategory, che a sua volta dipende da Category. È necessario che Category preceda Subcategory, seguito da Product. La query per il set di dati che fornisce i valori disponibili per Category deve mostrare tutte categorie valide per la query principale. La query che fornisce i valori disponibili per Subcategory dopo che è stata scelta una categoria deve fornire valori validi per la categoria specificata, oltre a eventuali vincoli esistenti nella query principali.

Per ulteriori informazioni, vedere Procedura: Aggiunta di parametri di propagazione a un report (Reporting Services).

Filtro dei dati del report dopo l'esecuzione di una query

È anche possibile creare parametri del report e utilizzarli in espressioni di filtro per filtrare i dati in un set di dati del report, un'area dati o un gruppo Tablix. Per ulteriori informazioni, vedere Filtraggio dei dati in un report e Procedura: Aggiunta di un filtro (Reporting Services).

I parametri di report sono inclusi in una definizione di report quando si modifica un report ma possono essere gestiti in modo indipendente dopo la pubblicazione di un report. Dopo la pubblicazione della definizione del report, sarà possibile modificare le proprietà dei parametri tramite Gestione report. Per ulteriori informazioni, vedere Impostazione delle proprietà in un report pubblicato.

Utilizzo di valori validi soggetti a modifica rapida per un parametro

Quando si specificano valori validi soggetti a modifica rapida, è possibile che i valori risultino obsoleti prima dell'esecuzione del report. È quindi possibile che un utente selezioni dall'elenco un valore che non risulta più valido al momento dell'invio del valore e dell'esecuzione del report. Per evitare il problema, scrivere query che restituiscono set di dati per elenchi di valori validi che non subiscono modifiche durante il tempo normalmente necessario a un utente per selezionare un valore ed eseguire il report.

Evitare inoltre i valori non da query a modifica rapida. Se ad esempio si specifica la data corrente come valore disponibile, scrivere un'espressione che utilizzi la proprietà DateTime.Today anziché la proprietà DateTime.Now. In questo modo verrà eliminata la parte del valore relativa all'ora. È anche possibile utilizzare una variabile del report o una variabile di gruppo per calcolare un valore una volta e mantenerlo costante durante l'elaborazione del report. Per ulteriori informazioni, vedere Utilizzo di riferimenti a raccolte di variabili di report e di gruppo nelle espressioni (Reporting Services).