Utilizzo dei parametri per controllare i dati del report (Generatore report 2.0)
I parametri del report possono essere utilizzati in due modi: per filtrare i dati nell'origine dati o per filtrare i dati nel report. Il filtro dei dati all'origine consente di migliorare le prestazioni per l'elaborazione e la visualizzazione di un report. Se non è possibile filtrare i dati all'origine, si possono utilizzare i parametri per filtrare i dati del report. I parametri possono inoltre essere utilizzati per ordinare e organizzare i dati in un report.
Per una panoramica sul filtro dei dati, vedere Filtraggio dei dati in un report (Generatore report 2.0).
In questo argomento vengono fornite informazioni per filtrare i dati tramite i parametri.
Filtro dei dati nell'origine dati
Per filtrare i dati nell'origine dati, utilizzare i parametri della query del set di dati. In alcune finestre di progettazione query, è possibile aggiungere campi a un riquadro Filtro e selezionare un'opzione del parametro per ogni campo che si desidera impostare come parametro del report. In altre finestre di progettazione query, è possibile aggiungere parametri di query al comando di query. Quando si salva la query, viene analizzato il testo del comando. Per ogni parametro della query, viene creato un corrispondente parametro del report. Per visualizzare l'elenco dei parametri del report, utilizzare il nodo Parametri nel riquadro Dati report.
Quando viene eseguito un report, l'utente seleziona i valori per ogni parametro del report e 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. È anche possibile specificare il prompt che identifica il parametro del report nella barra degli strumenti del report.
Parametri di query
I parametri del report vengono creati automaticamente quando si definiscono i parametri della query.
Quando si definisce un set di dati, si specifica un determinato tipo di origine dati, ad esempio MicrosoftSQL Server. Quando si definisce la query per ogni set di dati, la finestra Progettazione query associata 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 (Generatore report 2.0).
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. La query viene compilata automaticamente nella finestra Progettazione query relazionale e viene fornita un'opzione per creare una variabile di query per ogni filtro impostato. Per ulteriori informazioni, vedere Interfaccia utente di Progettazione query relazionale (Generatore report 2.0).
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 (Generatore report 2.0). 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 (Generatore report 2.0).
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à (Generatore report 2.0).
[!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.
In Generatore report 1.0 i parametri del report vengono creati automaticamente quando si imposta un messaggio di richiesta in una clausola di filtro.
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 più 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 (Generatore report 2.0).
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 (Generatore report 2.0).
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 (Generatore report 2.0) e Procedura: Aggiunta di un filtro (Generatore report 2.0).
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à dei parametri in un report pubblicato" nella documentazione relativa a Reporting Services inclusa nella documentazione online di SQL Server.
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 (Generatore report 2.0).
Vedere anche