Condividi tramite


Parametri report (Generatore report e Progettazione report)

Questo argomento descrive gli usi comuni dei parametri di report SSRS, le proprietà che è possibile impostare e altre informazioni sui parametri. I parametri del report consentono di controllare i dati del report, connettere report correlati e variare la presentazione del report.

Si applica a: Modalità SharePoint e modalità nativa

Per una dimostrazione su come aggiungere un parametro a un report, vedere Esercitazione: Aggiunta di parametri a un report (SSRS)

Utilizzi comuni per i parametri

Di seguito sono elencate alcune delle modalità più comuni in cui è possibile usare i parametri.

Controllare i dati del report

  • Filtrare i dati del report nell'origine dati scrivendo query del set di dati contenenti variabili.

  • Filtrare i dati da un set di dati condiviso. Quando si aggiunge un set di dati condiviso a un report, non è possibile modificare la query. Nel report è possibile aggiungere un filtro del set di dati che include un riferimento a un parametro di report creato.

  • Consentire agli utenti di specificare valori per personalizzare i dati di un report. È ad esempio possibile fornire due parametri per la data di inizio e la data di fine dei dati di vendita.

Connettere report correlati

  • Usare parametri per correlare report principali a report drill-through, sottoreport e report collegati. Durante la progettazione di un set di report, ogni report viene progettato in modo da rispondere a domande specifiche. In particolare, ogni report è in grado di offrire una vista diversa o un livello di dettaglio diverso per le informazioni correlate. Per ottenere un set di report correlati tra loro, creare i parametri per i dati correlati nei report di destinazione.

    Per altre informazioni, vedere Report drill-through (Generatore report e SSRS), Sottoreport (Generatore report e SSRS) e Creare un report collegato.

  • Personalizzare set di parametri per più utenti. Creare due report collegati basati su un report relativo alle vendite sul server di report. In un report collegato vengono usati i valori di parametro predefiniti per i venditori mentre nel secondo report collegato vengono usati i valori di parametro predefiniti per i responsabili vendite. In entrambi i report viene usata la stessa definizione report.

Variare la presentazione del report

  • Inviare comandi a un server di report tramite una richiesta URL, per personalizzare il rendering di un report. Per altre informazioni, vedere Accesso con URL (SSRS) e Passare un parametro del report in un URL.

  • Consentire agli utenti di specificare valori per personalizzare l'aspetto di un report. È ad esempio possibile fornire un parametro booleano per indicare se espandere o comprimere tutti i gruppi di righe nidificati in una tabella.

  • Consentire agli utenti di personalizzare l'aspetto e i dati del report includendo parametri in un'espressione.

    Per altre informazioni, vedere Riferimenti alla raccolta dei parametri (Generatore report e SSRS).

Riquadro dei parametri

Quando si visualizza un report, ogni parametro viene visualizzato nella barra degli strumenti del visualizzatore di report in modo che gli utenti possano specificarne i valori in modo interattivo. La figura seguente mostra l'area dei parametri per un report con parametri @StartDate, , @Subcategory@EndDatee @ShowAllRows.

rs_ParameterStory rs_ParameterStory

  1. Riquadro Parametri Nella barra degli strumenti del visualizzatore di report vengono visualizzati un messaggio di richiesta e un valore predefinito per ogni parametro. Il layout del parametro viene formattato nella barra degli strumenti automaticamente. L'ordine in cui i parametri vengono visualizzati è determinato dall'ordine dei parametri nel riquadro dei dati del report.

  2. @StartDate e @EndDate parametri Il parametro @StartDate è di tipo di DateTimedati . Il messaggio di richiesta Data inizio viene visualizzato accanto alla casella di testo. Per modificare la data, digitare una nuova data nella casella di testo o usare il controllo calendario.

    Il parametro @EndDate viene visualizzato accanto a @StartDate.

  3. parametro @Subcategory Il parametro @Subcategory è il tipo di Textdati . Poiché @Subcategory ha un elenco di valori disponibili, i valori validi vengono visualizzati in un elenco a discesa. È necessario scegliere i valori da questo elenco. Poiché @Subcategory è multivalore, viene visualizzata un'opzione Seleziona tutto che consente di cancellare tutti e selezionare tutti i valori nell'elenco.

  4. parametro @ShowAllRows Il parametro @ShowAllRows è il tipo di Booleandati . Usare i pulsanti di opzione per specificare True o False.

  5. Handle Mostra o nasconde l'area dei parametri Nella barra degli strumenti del visualizzatore di report fare clic su questa freccia per mostrare o nascondere il riquadro dei parametri.

  6. Pulsante Parametri Nell'anteprima di Generatore report fare clic sul pulsante Parametri della barra multifunzione per visualizzare o nascondere il riquadro dei parametri.

  7. Pulsante Visualizza report Nella barra degli strumenti del visualizzatore di report fare clic su Visualizza report per eseguire il report dopo avere immesso il valore dei parametri. Se tutti i parametri hanno valori predefiniti, il report viene eseguito automaticamente a prima vista.

Creazione di parametri

È possibile creare parametri di report nelle modalità seguenti:

  • Aggiungere una query del set di dati contenente variabili o una stored procedure del set di dati contenente parametri di input. Verrà creato un parametro del set di dati per ogni variabile o parametro di input e verrà creato un parametro di report per ogni parametro del set di dati.

    La seguente immagine di Generatore report mostra una query del set di dati con una variabile (1), il parametro del set di dati corrispondente (2) e il parametro di report (3).

    di dialogo Proprietà set di dati eFinestra Finestra

    NOTA! Non tutte le origini dati supportano i parametri.

    Il set di dati può essere incorporato o condiviso. Quando si aggiunge un set di dati condiviso a un report, non è possibile eseguire l'override dei parametri del set di dati contrassegnati come interni nel report. È possibile eseguire l'override dei parametri del set di dati che non sono contrassegnati come interni.

    Per altre informazioni, vedere Query del set di dati più avanti in questo argomento.

  • Creare manualmente un parametro dal riquadro dei dati del report.

    È possibile configurare i parametri del report in modo che un utente possa immettere in modo interattivo i valori per personalizzare il contenuto o l'aspetto di un report. È inoltre possibile configurare i parametri del report in modo che un utente non possa modificare i valori preconfigurati.

NOTA! Poiché i parametri vengono gestiti in modo indipendente nel server, la ripubblicazione di un report principale con nuove impostazioni dei parametri non implica la sovrascrittura delle impostazioni dei parametri esistenti per il report principale o per quello collegato.

  • Aggiungere una parte del report in cui siano inclusi riferimenti a un parametro o a un set di dati condiviso contenente variabili.

    Le parti di report vengono archiviate sul server di report e possono quindi essere usate da altri utenti nei propri report. Le parti di report corrispondenti a parametri non possono essere gestite dal server di report. È possibile cercare i parametri in Raccolta parti del report e configurarli nel report dopo averli aggiunti. Per altre informazioni, vedere Parti del report (Generatore report e SSRS).

NOTA! I parametri possono essere pubblicati come parte del report separata per aree dati che dispongono di set di dati dipendenti con parametri. Sebbene i parametri siano elencati come parte del report, non è possibile aggiungere un parametro della parte del report direttamente a un report. Aggiungere invece la parte del report e tutti i parametri del report necessari vengono generati automaticamente da query del set di dati contenute o a cui fa riferimento la parte del report. Per altre informazioni sulle parti del report, vedere Parti del report (Generatore report e SSRS) e Parti del report in Progettazione report (SSRS).

Valori di parametri

Di seguito sono riportate le opzioni per selezionare i valori di parametri nel report.

  • Selezionare un singolo valore di parametro da un elenco a discesa.

  • Selezionare più valori di parametro da un elenco a discesa.

  • Selezionare un valore da un elenco a discesa per un parametro, che determina i valori disponibili nell'elenco a discesa per un altro parametro. Tali parametri sono definiti di propagazione. I parametri di propagazione consentono di filtrare successivamente i valori di parametro da migliaia di valori a un numero gestibile.

    Per altre informazioni, vedere Aggiungere parametri di propagazione a un report (Generatore report e SSRS).

  • Eseguire il report senza dovere selezionare prima un valore di parametro poiché per il parametro è stato creato un valore predefinito.

Proprietà dei parametri di report

È possibile modificare le proprietà dei parametri di report mediante la finestra di dialogo Proprietà report. Nella tabella riportata di seguito vengono riepilogate le proprietà che è possibile impostare per ogni parametro.

Proprietà Descrizione
Nome Digitare un nome con distinzione tra maiuscole e minuscole per il parametro. Il nome deve iniziare con una lettera e contenere lettere, numeri e un carattere di sottolineatura (_). Il nome non può contenere spazi. Per i parametri generati automaticamente, il nome corrisponde al parametro nella query del set di dati. Per impostazione predefinita, i parametri creati manualmente sono simili a ParametroReport1.
Prompt Il testo che viene visualizzato accanto al parametro nella barra degli strumenti del visualizzatore di report.
Tipo di dati Quando i valori disponibili sono definiti per un parametro, l'utente sceglie i valori da un elenco a discesa, anche quando il tipo di dati è DateTime. Un parametro di report deve corrispondere a uno dei seguenti tipi di dati:

Boolean. L'utente seleziona True o False mediante un pulsante di opzione.

DateTime. L'utente seleziona una data da un controllo calendario.

Integer. L'utente digita valori in una casella di testo.

Float. L'utente digita valori in una casella di testo.

Text. L'utente digita valori in una casella di testo.

Per altre informazioni sui tipi di dati di report, vedere RDL Data Types.
Consenti nessun valore Selezionare questa opzione se il valore del parametro può corrispondere a una stringa vuota o a un valore vuoto.

Se si specificano valori validi per un parametro e si desidera che uno di essi sia un valore vuoto, è necessario includere tale valore come uno dei valori specificati. La selezione di questa opzione non include automaticamente un valore vuoto tra i valori disponibili.
Consenti valore Null Selezionare questa opzione se il valore del parametro può essere un valore Null.

Se si specificano valori validi per un parametro e si desidera che uno dei valori sia Null, è necessario includere tale valore come uno dei valori specificati. La selezione di questa opzione non include automaticamente un valore Null tra i valori disponibili.
Consenti più valori Fornire i valori disponibili per creare un elenco a discesa dal quale gli utenti possono scegliere. Si tratta di un metodo efficace per assicurarsi che nella query del set di dati vengano inviati solo valori validi.

Selezionare questa opzione se il valore per il parametro può essere costituito da più valori visualizzati in un elenco a discesa. I valori Null non sono consentiti. Se questa opzione è selezionata, verranno aggiunte caselle di controllo all'elenco di valori disponibili nell'elenco a discesa dei parametri. Nella parte superiore dell'elenco è inclusa una casella di controllo Seleziona tutto. Gli utenti possono selezionare i valori desiderati.

Se i dati che forniscono i valori cambiano rapidamente, l'utente potrebbe non visualizzare l'elenco più recente.
Visible Selezionare questa opzione per visualizzare il parametro nella parte superiore del report durante l'esecuzione. Questa opzione consente agli utenti di selezionare i valori del parametro in fase di esecuzione.
Nascosto Selezionare questa opzione per nascondere il parametro nel report pubblicato. I valori dei parametri di report possono comunque essere impostati su un URL del report, nella definizione di una sottoscrizione oppure nel server di report usando Gestione report.
Interno Selezionare questa opzione per nascondere il parametro di report. Nel report pubblicato, il parametro di report potrà essere visualizzato solo nella relativa definizione.
Valori disponibili Se sono stati specificati valori disponibili per un parametro, tali valori vengono sempre visualizzati sotto forma di elenco a discesa. Se ad esempio si forniscono i valori disponibili per un parametro DateTime, nel riquadro del parametro viene visualizzato un elenco a discesa per le date anziché un controllo calendario. Per assicurarsi che un elenco di valori sia coerente fra report e sottoreport, è possibile impostare un'opzione sull'origine dati per usare una sola transazione per tutte le query nei set di dati associati a un'origine dati.

** Nota sulla sicurezza ** In qualsiasi report che include un parametro di tipo Textdi dati , assicurarsi di usare un elenco di valori disponibili (noto anche come elenco valori validi) e assicurarsi che qualsiasi utente che esegue il report disponga solo delle autorizzazioni necessarie per visualizzare i dati nel report. Per altre informazioni, vedere Sicurezza (Generatore report).
Valori predefiniti Impostare i valori predefiniti da una query o da un elenco statico.

Il report viene eseguito automaticamente a prima vista quando ogni parametro ha un valore predefinito.
Avanzato Impostare l'attributo di definizione del report UsedInQuery, un valore che indica se questo parametro influisce direttamente o indirettamente sui dati di un report.

Determina automaticamente quando eseguire l'aggiornamento
Scegliere questa opzione se si desidera che l'impostazione per questo valore venga determinata dal componente Elaborazione report. Questo valore è True se il componente Elaborazione report rileva una query del set di dati con un riferimento diretto o indiretto a questo parametro oppure se il report contiene sottoreport.

Aggiorna sempre
Scegliere questa opzione quando il parametro di report viene usato direttamente o indirettamente in una query del set di dati o in un'espressione del parametro. Questa opzione determina l'impostazione di UsedInQuery su True.

Non aggiornare mai
Scegliere questa opzione quando il parametro di report non viene usato direttamente o indirettamente in una query del set di dati o in un'espressione del parametro. Questa opzione determina l'impostazione di UsedInQuery su False.

**Attenzione** Usare Mai aggiornare con attenzione. Nel server di report UsedInQuery viene usato per consentire il controllo delle opzioni della cache per i dati dei report sottoposti a rendering e delle opzioni di parametro per i report snapshot. L'impostazione non corretta dell'opzione Non aggiornare mai potrebbe determinare la memorizzazione nella cache di report o dati del report non corretti o la presenza di dati non coerenti in un report snapshot. Per altre informazioni, vedere Report Definition Language (SSRS).

Query del set di dati

Per filtrare i dati nella query del set di dati è possibile includere una clausola di restrizione che limita i dati recuperati specificando i valori da includere o escludere dal set dei risultati.

Usare Progettazione query per l'origine dati per compilare una query con parametri.

  • Per le query Transact-SQL, origini dati diverse supportano una sintassi diversa per i parametri. Supportare gli intervalli dei parametri identificati nella query in base alla posizione o al nome. Per altre informazioni, vedere argomenti relativi a tipi di origine dati esterni specifici in Aggiungere dati a un report (Report Builder e SSRS). Nella finestra Progettazione query relazionale, è necessario selezionare l'opzione del parametro di filtro per creare una query con parametri. Per altre informazioni, vedere Interfaccia utente di Progettazione query relazionale (Generatore report).

  • Per query basate su un'origine di dati multidimensionale quale Microsoft SQL Server Analysis Services, SAP NetWeaver BI o Hyperion Essbase, è possibile specificare se creare un parametro basato su un filtro specificato in Progettazione query. Per altre informazioni, vedere l'argomento progettazione query in Progettazione query (Report Builder) che corrisponde all'estensione dati.

Gestione di parametri per un report pubblicato

Quando si progetta un report, i parametri corrispondenti vengono salvati nella definizione del report. Quando si pubblica un report, i parametri corrispondenti vengono salvati e gestiti separatamente della definizione del report.

Per un report pubblicato, è possibile usare gli elementi seguenti:

  • Proprietà del parametro di report. Modificare i valori dei parametri del report direttamente nel server di report indipendentemente dalla definizione del report.

  • Report memorizzati nella cache. Per creare un piano della cache per un report, ogni parametro deve avere un valore predefinito. Per altre informazioni, vedere Memorizzazione dei report nella cache (SSRS).

  • Set di dati condivisi memorizzati nella cache. Per creare un piano della cache per un set di dati condiviso, ogni parametro deve avere un valore predefinito. Per altre informazioni, vedere Memorizzazione dei report nella cache (SSRS).

  • Report collegati. È possibile creare report collegati con valori di parametri preimpostati per filtrare i dati per diverse tipologie di pubblico. Per altre informazioni, vedere Creare un report collegato.

  • Sottoscrizioni di report. È possibile specificare valori di parametri per filtrare i dati e recapitare report tramite sottoscrizioni. Per altre informazioni, vedere Sottoscrizioni e recapito (Reporting Services).

  • Accesso con URL. È possibile specificare valori del parametro in un URL di un report. Inoltre è possibile eseguire report e specificare valori di parametri usando l'accesso a URL. Per altre informazioni, vedere Accesso con URL (SSRS).

Le proprietà dei parametri per un report pubblicato vengono in genere mantenute se si pubblica nuovamente la definizione del report. Se la definizione del report viene ripubblicata senza modifiche e i nomi dei parametri e i tipi di dati rimangono invariati, le impostazioni delle proprietà verranno mantenute. Se si aggiungono o eliminano parametri nella definizione del report oppure si modifica il tipo di dati o il nome di un parametro esistente, potrebbe essere necessario modificare le proprietà dei parametri nel report pubblicato.

Non è sempre possibile modificare tutti i parametri. Se un parametro di report ottiene un valore predefinito da una query del set di dati, non sarà possibile modificare tale valore per un report pubblicato né sarà possibile modificarlo nel server di report. Il valore usato in fase di esecuzione viene determinato al momento dell'esecuzione della query oppure, nel caso di parametri basati su espressioni, al momento della valutazione dell'espressione.

Le opzioni di esecuzione del report possono influire sulle modalità di elaborazione dei parametri. Per un report che viene eseguito come snapshot non è possibile usare parametri derivati da una query, a meno che la query non includa valori predefiniti per i parametri.

Parametri per una sottoscrizione

È possibile definire una sottoscrizione per un report su richiesta o snapshot e specificare valori di parametri da usare durante l'elaborazione della sottoscrizione.

  • Report su richiesta. Per un report su richiesta, è possibile specificare un valore del parametro diverso dal valore pubblicato per ogni parametro elencato per il report. Si supponga, ad esempio, di usare il report delle chiamate al servizio di assistenza, per il quale viene usato un parametro periodo di tempo che consente di restituire i dati sulle richieste pervenute al servizio di assistenza ai clienti in un determinato giorno, settimana o mese. Se il valore predefinito del parametro per il report è impostato su oggi, la sottoscrizione può usare un valore diverso, ad esempio settimana o mese, per generare un report contenente dati settimanali o mensili.

  • Snapshot. La sottoscrizione deve usare i valori del parametro definiti per lo snapshot. Nella sottoscrizione non è possibile definire un valore di parametro per sostituire il valore di parametro definito per uno snapshot. Si supponga, ad esempio, di sottoscrivere un report delle vendite per le regioni meridionali che viene eseguito come snapshot del report e che per lo snapshot sia specificato sud come valore di parametro relativo alle regioni. In questo caso, se si crea una sottoscrizione di questo report, è necessario usare il valore di parametro sud nella sottoscrizione. Per consentire di individuare immediatamente i parametri che non possono essere modificati, i campi corrispondenti nella pagina di sottoscrizione sono di sola lettura.

    Le opzioni di esecuzione del report possono influire sulle modalità di elaborazione dei parametri. Un report con parametri che viene eseguito come snapshot del report usano i valori dei parametri definiti per lo snapshot del report. I valori dei parametri vengono definiti nella pagina delle proprietà dei parametri del report. Per un report che viene eseguito come snapshot non è possibile usare parametri derivati da una query, a meno che la query non includa valori predefiniti per i parametri.

    Se si modifica un valore di parametro nello snapshot del report dopo aver definito la sottoscrizione, questa viene disattivata dal server di report. La disattivazione della sottoscrizione indica che il report è stato modificato. Per attivare la sottoscrizione, aprirla e salvarla.

Nota

Per le sottoscrizioni guidate dai dati è possibile usare valori di parametri ottenuti da un'origine dei dati del Sottoscrittore. Per altre informazioni, vedere Usare un'origine dati esterna per i dati del Sottoscrittore (sottoscrizione guidata dai dati).

Per altre informazioni, vedere Sottoscrizioni e recapito (Reporting Services).

Parametri e sicurezza dei dati

Quando si distribuiscono report con parametri che contengono informazioni riservate è necessario fare attenzione. Un utente può facilmente sostituire un parametro di report con un valore diverso, con la conseguente diffusione di informazioni potenzialmente riservate.

Un'alternativa più sicura all'utilizzo di parametri per i dati personali o relativi ai dipendenti consiste nel selezionare i dati basati su espressioni che includono il campo UserID dalla raccolta Users. La raccolta Users consente di ottenere l'identità dell'utente che esegue il report e di usarla per recuperare i dati specifici per l'utente.

Importante

In qualsiasi report che includa un parametro di tipo String, accertarsi di usare un elenco di valori disponibili, noto anche come elenco di valori validi, e assicurarsi che ogni utente che esegue il report disponga solo delle autorizzazioni necessarie per visualizzare i dati del report. Quando si definisce un parametro di tipo String, viene visualizzata una casella di testo che può accettare qualsiasi valore. Un elenco di valori disponibili consente di limitare i valori che è possibile immettere. Se un parametro di report è correlato a un parametro del set di dati e non si usa un elenco di valori disponibili, un utente potrebbe digitare nella casella di testo sintassi SQL, esponendo il report e il server a un potenziale attacco intrusivo nel codice SQL. Se l'utente dispone di autorizzazioni sufficienti per eseguire la nuova istruzione SQL, è possibile che nel server si verifichino risultati non desiderati.

Se un parametro di report non è correlato a un parametro del set di dati e i valori del parametro sono inclusi nel report, un utente potrebbe digitare nel valore del parametro un URL o la sintassi di un'espressione ed eseguire il rendering del report in formato Excel o HTML. Se il report viene in seguito visualizzato da un altro utente che fa clic sul contenuto dei parametri di cui è stato eseguito il rendering, è possibile che venga inavvertitamente eseguito il collegamento o lo script dannoso.

Per ridurre il rischio di eseguire inavvertitamente script dannosi, aprire i report visualizzabili solo da origini attendibili. Per altre informazioni sulla sicurezza dei report, vedere Garantire la sicurezza di report e risorse.

Procedure

In questa sezione vengono elencate le procedure in cui viene mostrato in dettaglio l'utilizzo di parametri e filtri.

Questo articolo è stato utile? Siamo in ascolto

Quali informazioni si stanno cercando? La ricerca ha restituito i risultati desiderati? Stiamo ascoltando il tuo feedback per migliorare il contenuto. Inviare eventuali commenti all'indirizzo sqlfeedback@microsoft.com

Configurazione dei parametri di report SSRS (quiz)

Esercitazione: Aggiungere un parametro al report (Generatore report)

Errori imprevisti per InvalidReportParameterException nel servizio di segnalazione

Esempi di report (Generatore report e SSRS)

Utilizzo delle espressioni nei report (Generatore report e SSRS)

Espressioni (Generatore report e SSRS)

Filtro, raggruppamento e ordinamento di dati (Generatore report e SSRS)

Sicurezza (Generatore report)

Ordinamento interattivo, mappe documento e collegamenti (Generatore report e SSRS)

Drill-through, drill-down, sottoreport e aree dati nidificate (Generatore report e SSRS)